Service
contactEmailContact e-mail address of the service owner
specificationURL of the API specification (YAML or JSON, compliant with Open API Specification v3)
documentationURL of the API documentation, including general terms and privacy statement
AcademicSession
academicSessionIdUnique id for this academic session
academicSessionTypeThe type of this academic session. This is an extensible enumeration.
- academic_year: Academic year
- semester: Semester, typically comprising two terms per academic year
- trimester: Trimester, typically comprising three terms per academic year
- quarter: Quarter, typically comprising four terms per academic year
- testing_period: A period during which tests take place
- period: Any other period within an academic year
Implementations may add further values beyond those listed above, provided they do not overlap in definition with existing values.
The primary human readable identifier for this academic session. This is often the source identifier as defined by the institution.
The name of this academic session
startDateTimeThe moment on which this academic session starts, RFC3339 (full-date)
endDateTimeThe moment on which this academic session ends, RFC3339 (full-date)
abbreviationThe abbreviation or internal code used to identify this AcademicSession
parentIdThe identifier of the parent academicSession for this session (e.g. Autumn
term 20xx where the current session is week 40).
When the client does not request expansion of parent, only this
identifier is returned.
This field is expandable.
parentThe expanded parent academicSession object of this session (e.g. Autumn
term 20xx where the current session is week 40).
When the client requests expansion of parent, the full expanded
academicSession object MUST be returned here instead of only the identifier.
If no parent is defined, this value is null.
childIdsIdentifier (circular)The list of identifiers of child academicSessions of this session (e.g. all
academic sessions in Autumn term 20xx).
When the client does not request expansion of children, only these
identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
The expanded child academicSession objects of this session (e.g. all
academic sessions in Autumn term 20xx).
When the client requests expansion of children, the full expanded
academicSession objects MUST be returned here instead of only the identifiers.
If no child sessions are defined, this value is null.
yearIdThe identifier of the top-level academicSession year for this session
(e.g. 20xx where the current session is week 40 of a semester).
When the client does not request expansion of year, only this identifier
is returned.
This field is expandable.
yearThe expanded top-level academicSession year object for this session
(e.g. 20xx where the current session is week 40 of a semester).
When the client requests expansion of year, the full expanded
academicSession object MUST be returned here instead of only the identifier.
If no top-level year is defined, this value is null.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
Building
buildingIdUnique id of this building
The primary human readable identifier for this building. This is often the source identifier as defined by the institution.
The name of this building
abbreviationThe abbreviation of the name of this building
descriptionLanguageTypedString (circular)The description of this building.
An array of additional human readable codes/identifiers for the entity being described.
LearningComponent
componentIdUnique id of this component
The primary human readable identifier for this component. This is often the source identifier as defined by the institution.
componentTypeThe type of learning component, indicating the format or method of educational delivery. One learning component of a certain type can have multiple offerings, one component can refer to a set of componentOfferings. e.g. the component lecture can be a set of lectures (group of offerings) An example of such a case in natural language: the lecture takes place weekly for 7 weeks This implies one learningComponent of type lecture with seven learningComponentOfferings of type lecture.
| Code | Description |
|---|---|
consultation | Scheduled meeting for individual or group guidance. |
excursion | Educational trip or site visit. |
external | Activity outside the home institution (e.g. internship, |
| course at a partner institution). | |
independent_study | Self-directed learning without scheduled contact hours. |
learning_community | Structured collaboration between education, research and |
| industry with shared ownership of learning and outcomes; | |
| distinct from internships and from COIL. | |
lecture | Classroom-based or online lecture given by an instructor. |
practical | Hands-on session focusing on application of concepts. |
project | Structured assignment carried out over a period of time. |
skills_training | Session focused on developing specific practical or |
| professional skills. | |
tutorial | Interactive small-group session to reinforce learning. |
workshop | Intensive session focused on practical skills or knowledge. |
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this component
abbreviationThe abbreviation of this component
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this component. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
descriptionLanguageTypedString (circular)The description of this component.
teachingLanguagesLanguage (circular)The languages in which this learning component is given, should be three-letter language codes as specified by ISO 639-2. A student should be reasonably proficient in each language to be able to follow the learning component.
learningOutcomeIdsThe identifiers of the learning outcomes related to this learning component.
When the client does not request expansion of learningOutcomes, only these
identifiers are returned.
This field is expandable.
learningOutcomesThe expanded learning outcome objects related to this learning component.
When the client requests expansion of learningOutcomes, the full expanded
learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources)
assessmentLanguageTypedString (circular)A description of the way exams for this course are taken (ECTS-assessment method and criteria).
Addresses for this component
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
parentIdThe identifier of the parent learningComponent of which the current learningComponent is a child.
When the client does not request expansion of parent, only this identifier is returned.
This field is expandable.
parentThe expanded parent learningComponent of which the current learningComponent is a child.
When the client requests expansion of parent, the full expanded learningComponent object MUST be returned here instead of only the identifier.
If no parent is defined, this value is null.
childIdsIdentifier (circular)The identifiers of the learningComponents which are a part of this learningComponent (e.g. combined tests).
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
childrenThe expanded learningComponent objects which are a part of this learningComponent (e.g. combined tests).
When the client requests expansion of children, the full expanded learningComponent objects MUST be returned here instead of only the identifiers.
If no children are defined, this value is null.
courseIdThe identifier of the course of which this component is a part.
When the client does not request expansion of course, only this identifier is returned.
This field is expandable.
courseThe expanded course object of which this component is a part.
When the client requests expansion of course, the full expanded course object MUST be returned here instead of only the identifier.
If no course is defined, this value is null.
organisationIdThe identifier of the organisation which provides this component.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object which provides this component.
When the client requests expansion of organisation, the full expanded organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
TestComponent
componentIdUnique id of this component
The primary human readable identifier for this component. This is often the source identifier as defined by the institution.
componentTypeThe way the test is conducted. This can be a test on paper, a digital test, a life-skills test, an oral test, or a portfolio assessment.
Together with modeOfStudy or assessment, it indicates where the test is taken and how it is conducted:
- test_on_paper: Written examination on paper, typically in a controlled setting.
- digital_test: Computer-based or online test, conducted via a digital platform.
- life_skills_test: Practical assessment of real-world competencies and life-skills.
- oral_test: Spoken examination, typically involving verbal questioning and answering.
- portfolio_assessment: Evaluation based on a collection of the candidate's work over time.
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this component
abbreviationThe abbreviation of this component
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this component. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
extraDuration^(-?)P(?=\d|T\d)(?:(…The extra duration of this component for candidates that are awarded extra time as a personal need. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
attemptsThe number of attempts that are allowed for this component within one offering.
passFromThe minimum value that is required to pass this component within one offering. This value is inclusive and depends on the resultValueType.
descriptionLanguageTypedString (circular)The description of this component.
teachingLanguagesLanguage (circular)The languages in which this test component is given, should be three-letter language codes as specified by ISO 639-2. A student should be reasonably proficient in each language to be able to follow the test component.
learningOutcomeIdsThe identifiers of the learning outcomes related to this test component.
When the client does not request expansion of learningOutcomes, only these identifiers are returned.
This field is expandable.
The expanded learning outcome objects related to this test component.
When the client requests expansion of learningOutcomes, the full learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that are allowed during this test
assessmentLanguageTypedString (circular)A description of the way this test is taken.
Addresses for this component
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
parentIdThe identifier of the parent Test Component of which the current Test Component is a child.
When the client does not request expansion of parent, only this identifier is returned.
This field is expandable.
parentThe expanded parent Test Component of which the current Test Component is a child.
When the client requests expansion of parent, the full Test Component object MUST be returned here instead of only the identifier.
If no parent is defined, this value is null.
childIdsIdentifier (circular)The identifiers of the Test Components that are part of this Test Component.
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
The expanded Test Components that are part of this Test Component (e.g. combined tests).
When the client requests expansion of children, the full Test Component objects MUST be returned here instead of only the identifiers.
courseIdThe identifier of the course of which this component is a part.
When the client does not request expansion of course, only this identifier is returned.
This field is expandable.
courseThe expanded course object of which this component is a part.
When the client requests expansion of course, the full course object MUST be returned here instead of only the identifier.
If no course is defined, this value is null.
organisationIdThe identifier of the organisation which provides this component.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object which provides this component.
When the client requests expansion of organisation, the full organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
LearningComponentOffering
learningComponentOfferingIdThe unique ID of the learning component offering, this should be unique across all programme, course, learning, and test component offerings.
The primary human readable identifier for this offering. This is often the source identifier as defined by the institution.
nameLanguageTypedString (circular)The name of this offering
The offering identifiers (0..N) associated with this group.
academicSessionIdThe identifier of the academicSession during which this courseOffering takes place.
When the client does not request expansion of academicSession, only this identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object during which this courseOffering takes place.
When the client requests expansion of academicSession, the full expanded academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The state of this offering, e.g. active, inactive, archived
The rostering state of this offering indicating the state in relation to planning, e.g. active, inactive, archived
abbreviationThe abbreviation or internal code used to identify this offering
descriptionLanguageTypedString (circular)The description of this offering.
teachingLanguagesLanguage (circular)The languages in which this course is given, should at least a two-letter language code as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the offering.
modesOfDeliverymaxNumberStudentsThe maximum number of students allowed to enrol for this offering
enrolledNumberStudentsThe number of students who have already enrolled for this offering
pendingNumberStudentsThe number of students who have a pending enrolment request for this offering
minNumberStudentsThe minimum number of students needed for this offering to proceed
resultExpectedresultExpected, previously known as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information. Offerings need not always result in a grade or another type of result. If there is a result expected from a programmeOffering/courseOffering/componentOffering the is resultExpected field should be set to true
linkURL of this offering's webpage.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
An array of periods that a person can enrol into this offering. The period is defined by target group and dateTime
Optional supplementary information associated with this resource.
startDateTimeThe moment on which this offering starts, RFC3339 (date-time)
endDateTimeThe moment on which this offering ends, RFC3339 (date-time)
resultWeightThe result weight of this offering
Addresses for this offering
Price information for this offering.
roomIdsIdentifier (circular)The identifiers of the rooms for this offering.
When the client does not request expansion of rooms, only these identifiers are returned.
This field is expandable.
roomsThe expanded room objects for this offering.
When the client requests expansion of rooms, the full expanded room objects MUST be returned here instead of only the identifiers.
If no rooms are defined, this value is null.
learningComponentIdThe identifier of the learningComponent that is offered in this learningComponent offering.
When the client does not request expansion of learningComponent, only this identifier is returned.
This field is expandable.
learningComponentThe expanded learningComponent object that is offered in this learningComponent offering.
When the client requests expansion of learningComponent, the full expanded learningComponent object MUST be returned here instead of only the identifier.
If no learningComponent is defined, this value is null.
courseOfferingIdsIdentifier (circular)The identifiers of the courseOfferings to which this learningComponent offering is related.
When the client does not request expansion of courseOfferings, only these identifiers are returned.
This field is expandable.
courseOfferingsThe expanded courseOffering objects to which this learningComponent offering is related.
When the client requests expansion of courseOfferings, the full expanded courseOffering objects MUST be returned here instead of only the identifiers.
If no courseOfferings are defined, this value is null.
organisationIdThe identifier of the organisation that manages this component offering.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this component offering.
When the client requests expansion of organisation, the full expanded organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
LearningComponentOfferingAssociation
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: personId, learningComponentOfferingId | |
| type = object · requires: personId, learningComponentOffering | |
| type = object · requires: person, learningComponentOfferingId | |
| type = object · requires: person, learningComponentOffering |
personIdThe identifier of the person referenced here.
When the client does not request expansion of person, only this identifier is returned.
This field is expandable.
learningComponentOfferingIdThe identifier of the learningComponentOffering referenced here.
When the client does not request expansion of offering, only this identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
The expanded person object referenced here.
When the client requests expansion of person, the full expanded person object MUST be returned here instead of only the identifier.
If no person is defined, this value is null.
learningComponentOfferingThe expanded learningComponentOffering object referenced here.
When the client requests expansion of offering, the full expanded learningComponentOffering object MUST be returned here instead of only the identifier.
If no offering is defined, this value is null.
TestComponentOffering
testComponentOfferingIdThe unique ID of the test component offering, this should be unique across all programme, course, learning, and test component offerings.
The primary human readable identifier for this offering. This is often the source identifier as defined by the institution.
nameLanguageTypedString (circular)The name of this offering
The offering identifiers (0..N) associated with this group.
academicSessionIdThe identifier of the academicSession during which this courseOffering takes place.
When the client does not request expansion of academicSession, only this identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object during which this courseOffering takes place.
When the client requests expansion of academicSession, the full expanded academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The state of this offering, e.g. active, inactive, archived
The rostering state of this offering indicating the state in relation to planning, e.g. active, inactive, archived
abbreviationThe abbreviation or internal code used to identify this offering
descriptionLanguageTypedString (circular)The description of this offering.
teachingLanguagesLanguage (circular)The languages in which this course is given, should at least a two-letter language code as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the offering.
modesOfDeliverymaxNumberStudentsThe maximum number of students allowed to enrol for this offering
enrolledNumberStudentsThe number of students who have already enrolled for this offering
pendingNumberStudentsThe number of students who have a pending enrolment request for this offering
minNumberStudentsThe minimum number of students needed for this offering to proceed
resultExpectedresultExpected, previously known as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information. Offerings need not always result in a grade or another type of result. If there is a result expected from a programmeOffering/courseOffering/componentOffering the is resultExpected field should be set to true
linkURL of this offering's webpage.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
An array of periods that a person can enrol into this offering. The period is defined by target group and dateTime
Optional supplementary information associated with this resource.
startDateTimeThe moment on which this offering starts, RFC3339 (date-time)
endDateTimeThe moment on which this offering ends, RFC3339 (date-time)
resultWeightThe result weight of this offering
Addresses for this offering
Price information for this offering.
roomIdsIdentifier (circular)The identifiers of the rooms for this offering.
When the client does not request expansion of rooms, only these identifiers are returned.
This field is expandable.
roomsThe expanded room objects for this offering.
When the client requests expansion of rooms, the full expanded room objects MUST be returned here instead of only the identifiers.
If no rooms are defined, this value is null.
componentIdThe identifier of the component that is offered in this component offering.
When the client does not request expansion of component, only this identifier is returned.
This field is expandable.
componentThe expanded component that is offered in this component offering.
When the client requests expansion of component, the full component object MUST be returned here instead of only the identifier.
If no component is defined, this value is null.
courseOfferingIdsThe identifiers of the course offerings to which this test component offering is related.
When the client does not request expansion of courseOfferings, only these identifiers are returned.
This field is expandable.
The expanded course offering objects to which this test component offering is related.
When the client requests expansion of courseOfferings, the full course offering objects MUST be returned here instead of only the identifiers.
If no course offerings are defined, this value is null.
organisationIdThe identifier of the organisation that manages this component offering.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this component offering.
When the client requests expansion of organisation, the full organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
Documents that are related to the test component offering. E.g. instructions, assignment, reports, etc.
TestComponentOfferingAssociation
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: personId, testComponentOfferingId | |
| type = object · requires: personId, testComponentOffering | |
| type = object · requires: person, testComponentOfferingId | |
| type = object · requires: person, testComponentOffering |
personIdThe identifier of the person referenced here.
When the client does not request expansion of person, only this identifier is returned.
This field is expandable.
testComponentOfferingIdThe identifier of the testComponentOffering referenced here.
When the client does not request expansion of offering, only this identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
extraDuration^(-?)P(?=\d|T\d)(?:(…The extra duration of this component for this specific candidate. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
requiredPersonalNeedsThe additional facilities or resources needed by a person to make the component accessible and usable.
attemptThe attempt this association is linked to.
irregularitiesThe irregularities that are reported for this association. This is a list of the irregularities that are reported for this association.
Documents that are related to the test component offering association. E.g. handed in documents, plagiarism reports, test made, etc.
The expanded person object referenced here.
When the client requests expansion of person, the full person object MUST be returned here instead of only the identifier.
If no person is defined, this value is null.
testComponentOfferingThe expanded testComponentOffering object referenced here.
When the client requests expansion of testComponentOffering, the full TestComponentOffering object MUST be returned here instead of only the identifier.
If no testComponentOffering is defined, this value is null.
attemptIdsThe identifiers of the attempts related to this testComponentOffering association.
When the client does not request expansion of attempts, only these identifiers are returned.
This field is expandable.
The expanded attempt objects related to this testComponentOffering association.
When the client requests expansion of attempts, the full TestComponentOfferingAssociationAttempt objects MUST be returned here instead of only the identifiers.
If no attempts are defined, this value is null.
Course
courseIdUnique id of this course
The primary human readable identifier for this course. This is often the source identifier as defined by the institution.
The name of this course (ECTS-title)
abbreviationThe abbreviation or internal code used to identify this course (ECTS-code)
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this course. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
firstStartDateThe date and time when participants can follow this course for the first time.
descriptionLanguageTypedString (circular)The description of this course (ECTS-description).
teachingLanguagesLanguage (circular)The languages in which this course is given, should be three-letter language codes as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the course.
fieldsOfStudyField(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). ISCED-F categorizes the fields of study 2 digits at root level and further subdivision as more digits are added. Preferably fieldsOfStudy contains at least 4 digits. ISCEDF2013vSOI2021 currently allows for 6 digits max (https://www.cbs.nl/-/media/cbs/onze-diensten/methoden/classificaties/documents/2025/pubsoi2021_ed2425.pdf). 07 Engineering, manufacturing and construction 073 Architecture and construction 0731 Architecture and town planning 073101 Town planning
learningOutcomeIdsThe identifiers of the learning outcomes related to this course.
When the client does not request expansion of learningOutcomes, only these
identifiers are returned.
This field is expandable.
The expanded learning outcome objects related to this course.
When the client requests expansion of learningOutcomes, the full expanded
learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
admissionRequirementsLanguageTypedString (circular)This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students.
qualificationRequirementsLanguageTypedString (circular)Normally, students will receive a diploma when they have completed the (official) study programme and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here.
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources)
assessmentLanguageTypedString (circular)A description of the way exams for this course are taken (ECTS-assessment method and criteria).
linkURL of the course's website
Addresses for this course
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
programmeIdsIdentifier (circular)The identifiers of the programmes of which this course is a part.
This array is used because a course can belong to multiple programmes,
for example in alliances.
When the client does not request expansion of programmes, only these
identifiers are returned.
This field is expandable.
Optional supplementary information associated with this resource.
The expanded programme objects of which this course is a part.
This array is used because a course can belong to multiple programmes,
for example in alliances.
When the client requests expansion of programmes, the full expanded
programme objects MUST be returned here instead of only the identifiers.
If no programmes are defined, this value is null.
coordinatorIdsIdentifier (circular)The identifiers of the persons responsible for this course.
When the client does not request expansion of coordinators, only these
identifiers are returned.
This field is expandable.
coordinatorsPerson (circular)The expanded person objects responsible for this course.
When the client requests expansion of coordinators, the full expanded
person objects MUST be returned here instead of only the identifiers.
If no coordinators are defined, this value is null.
instructorIdsIdentifier (circular)The identifiers of the persons teaching or delivering this course.
When the client does not request expansion of instructors, only these
identifiers are returned.
This field is expandable.
instructorsPerson (circular)The expanded person objects teaching or delivering this course.
When the client requests expansion of instructors, the full expanded
person objects MUST be returned here instead of only the identifiers.
If no instructors are defined, this value is null.
organisationIdThe identifier of the organisation that manages this course.
When the client does not request expansion of organisation, only this
identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this course.
When the client requests expansion of organisation, the full expanded
organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
validFromThe first day and time this course is valid (inclusive).
validToThe day and time this course ceases to be valid (e.g. exclusive).
CourseOffering
courseOfferingIdThe unique ID of the course offering, this should be unique across all programme, course, learning, and test component offerings.
The primary human readable identifier for this offering. This is often the source identifier as defined by the institution.
nameLanguageTypedString (circular)The name of this offering
The offering identifiers (0..N) associated with this group.
academicSessionIdThe identifier of the academicSession during which this courseOffering takes place.
When the client does not request expansion of academicSession, only this identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object during which this courseOffering takes place.
When the client requests expansion of academicSession, the full expanded academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The state of this offering, e.g. active, inactive, archived
The rostering state of this offering indicating the state in relation to planning, e.g. active, inactive, archived
abbreviationThe abbreviation or internal code used to identify this offering
descriptionLanguageTypedString (circular)The description of this offering.
teachingLanguagesLanguage (circular)The languages in which this course is given, should at least a two-letter language code as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the offering.
modesOfDeliverymaxNumberStudentsThe maximum number of students allowed to enrol for this offering
enrolledNumberStudentsThe number of students who have already enrolled for this offering
pendingNumberStudentsThe number of students who have a pending enrolment request for this offering
minNumberStudentsThe minimum number of students needed for this offering to proceed
resultExpectedresultExpected, previously known as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information. Offerings need not always result in a grade or another type of result. If there is a result expected from a programmeOffering/courseOffering/componentOffering the is resultExpected field should be set to true
linkURL of this offering's webpage.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
An array of periods that a person can enrol into this offering. The period is defined by target group and dateTime
Optional supplementary information associated with this resource.
startDateTimeThe moment on which this offering starts, RFC3339 (date-time)
endDateTimeThe moment on which this offering ends, RFC3339 (date-time)
flexibleEntryPeriodStartDateTimeUse this attribute for courses that allow participants who have already
enrolled to begin their participation at different moments without
missing essential content. This attribute MUST be used in combination
with flexibleEntryPeriodEndDateTime.
flexibleEntryPeriodEndDateTimeIf this is a course wherein participants who have already enrolled can
start at various moments without missing any essential content, use this
attribute in combination with flexibleEntryPeriodStartDateTime.
Addresses for this offering
Price information for this offering.
courseIdThe identifier of the course that is offered in this course offering.
When the client does not request expansion of course, only this
identifier is returned.
This field is expandable.
courseThe expanded course object that is offered in this course offering.
When the client requests expansion of course, the full expanded
course object MUST be returned here instead of only the identifier.
If no course is defined, this value is null.
programmeOfferingIdsIdentifier (circular)An array of 0 or more identifiers of programmeOfferings that this
course offering is related to.
When the client does not request expansion of programmeOfferings,
only these identifiers are returned.
This field is expandable.
An array of 0 or more expanded programmeOffering objects that this
course offering is related to.
When the client requests expansion of programmeOfferings, the full
expanded programmeOffering objects MUST be returned here instead of
only the identifiers.
If no programmeOfferings are defined, this value is null.
organisationIdThe identifier of the organisation that manages this course offering.
When the client does not request expansion of organisation, only this
identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this course offering.
When the client requests expansion of organisation, the full expanded
organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
CourseOfferingAssociation
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: courseOfferingId, personId | |
| type = object · requires: courseOfferingId, person | |
| type = object · requires: courseOffering, person | |
| type = object · requires: courseOffering, personId |
courseOfferingIdThe identifier of the courseOffering referenced here.
When the client or server does not expand offering, only this
identifier is returned.
This field is expandable.
personIdThe identifier of the person referenced here.
When the client or server does not expand person, only this
identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
Only required when the studyload for the individual student/enrolment is different from the studyload of the course offering.
courseOfferingThe expanded courseOffering object referenced here.
When the client or server expands offering, the full expanded
courseOffering object MUST be returned here instead of only the
identifier.
If no offering is defined, this value is null.
The expanded person object referenced here.
When the client or server expands person, the full expanded
person object MUST be returned here instead of only the identifier.
If no person is defined, this value is null.
Group
groupIdThe unique ID of the group.
The primary human readable identifier for this group. This is often the source identifier as defined by the institution.
groupTypeThe type of this group:
- class: A group of students jointly scheduled for, assigned to, or engaged in educational activities
- team: A group composed of members of a team, which may consist of students, staff, or a mix of both
- group: A group of students jointly scheduled for, assigned to, or engaged in educational activities in a context not covered by a class
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this group
descriptionLanguageTypedString (circular)The description of this group
startDateTimeThe moment on which this group starts being active, RFC3339 (date-time). Groups can be ordered in time through the academicSession. The start and end date and time fields SHOULD always contain the most accurate dates.
endDateTimeThe moment on which this group ends being active, RFC3339 (date-time) Groups can be ordered in time through the academicSession. The start and end date and time fields SHOULD always contain the most accurate dates.
personCountThe number of persons that are member of this group
An array of additional human readable codes/identifiers for the entity being described.
organisationIdThe identifier of the organisation that manages this group.
When the client does not request expansion of organisation, only this
identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this group.
When the client requests expansion of organisation, the full expanded
organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
academicSessionIdThe identifier of the academicSession for which this group is intended.
When the client does not request expansion of academicSession, only this
identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object for which this group is intended.
When the client requests expansion of academicSession, the full expanded
academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The offering identifiers (0..N) associated with this group.
Membership
personIdUnique id for this membership (this is the personID since there is a 1-1 relationship between membership of a group and a person) item
groupIdId for the group where the person has a membership
stateThe state of this membership:
- cancelled: The membership has been formally terminated and is no longer valid
- active: The membership is currently valid and in effect
This is an extensible enumeration. Use the prefix x- for custom values.
roleThe role of this person in the context of this membership:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe moment from which the person participates in this membership, RFC3339 (date-time)
endDateTimeThe moment until which this person participates in this membership (when the membership stops), RFC3339 (date-time)
LearningOutcome
learningOutcomeIdUnique id of this learning outcome
The primary human readable identifier for this learning outcome. This is often the source identifier as defined by the institution.
The name of this learning outcome
abbreviationThe abbreviation or internal code used to identify this LearningOutcome
descriptionLanguageTypedString (circular)The description of this learning outcome.
parentIdsThe identifiers of the learning outcomes which are the parents of this learning outcome.
When the client does not request expansion of parents, only these identifiers are returned.
This field is expandable.
parentsThe expanded learning outcome objects which are the parents of this learning outcome.
When the client requests expansion of parents, the full expanded learning outcome objects MUST be returned here instead of only the identifiers.
If no parents are defined, this value is null.
childIdsIdentifier (circular)The identifiers of all learning outcomes for which this learning outcome is the parent.
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
childrenThe expanded learning outcome objects for which this learning outcome is the parent.
When the client requests expansion of children, the full expanded learning outcome objects MUST be returned here instead of only the identifiers.
If no children are defined, this value is null.
fieldsOfStudyField(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). ISCED-F categorizes the fields of study 2 digits at root level and further subdivision as more digits are added. Preferably fieldsOfStudy contains at least 4 digits. ISCEDF2013vSOI2021 currently allows for 6 digits max (https://www.cbs.nl/-/media/cbs/onze-diensten/methoden/classificaties/documents/2025/pubsoi2021_ed2425.pdf). 07 Engineering, manufacturing and construction 073 Architecture and construction 0731 Architecture and town planning 073101 Town planning
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
validFromThe date and time for when this learning outcome will be active. Should be a string formatted as an RFC3099 full-date.
validToThe date and time when this learning outcome will no longer be valid, or should be renewed. Should be a string formatted as an RFC3099 full-date.
Organisation
organisationIdUnique id of this organisation
The primary human readable identifier for the organisation. This is often the source identifier as defined by the root organisation.
organisationTypeThe type of this organisation. When using non-root organisation types, make sure that there is always a parent organisation of type root available.
- root: The top-level organisation, representing the organisation itself
- institute: A subdivision of the root organisation, typically focused on a broad field of study
- department: An organisational unit within an organisation or one of the subdivisions of an organisation, focused on a specific discipline
- faculty: A major academic division within an institution, often overseeing multiple departments
- branch: A geographically separate location or campus of an organisation
- academy: A specialised academic unit, often focused on applied or artistic disciplines
- school: An organisational unit typically used in primary, secondary, or specialised higher education contexts
This is an extensible enumeration. Use the prefix x- for custom values.
The name of the organisation
shortNameShort name of the organisation
descriptionLanguageTypedString (circular)If the organisation is an educational organisation, any general description should clearly mention the type of education organisation, especially in the case of a binary system. In Dutch; universiteit (university) or hogeschool (university of applied sciences). If the organisation is not an educational organisation, a general description should describe the role it plays in education like providing certain types of internships, educational services, products or facilities.
Addresses of this organisation
linkURL of the organisation's website
logoLogo of this organisation
An array of additional human readable codes/identifiers for the entity being described.
rootIdThe identifier of the organisation which is the root organisation of this organisation.
When the client does not request expansion of root, only this identifier is returned.
This field is expandable.
rootThe expanded organisation object which is the root organisation of this organisation.
When the client requests expansion of root, the full expanded organisation object MUST be returned here instead of only the identifier.
If no root organisation is defined, this value is null.
parentIdThe identifier of the organisational unit which is the parent of this organisation.
When the client does not request expansion of parent, only this identifier is returned.
This field is expandable.
parentThe expanded organisation object which is the parent of this organisation.
When the client requests expansion of parent, the full expanded organisation object MUST be returned here instead of only the identifier.
If no parent organisation is defined, this value is null.
childIdsIdentifier (circular)The identifiers of the organisational units for which this organisation is the parent.
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
childrenThe expanded organisational unit objects for which this organisation is the parent.
When the client requests expansion of children, the full expanded organisation objects MUST be returned here instead of only the identifiers.
If no children are defined, this value is null.
Person
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: surname, primaryCode, activeEnrolment | |
| type = object · requires: givenname, primaryCode, activeEnrolment | |
| type = object · requires: preferredName, primaryCode, activeEnrolment |
The primary human readable identifier for the person. This is often the source identifier as defined by the institution.
surnameThe family name of this person
activeEnrolmentWhether this person has an active enrolment.
personIdUnique id of this person
givenNameThe first name of this person
alternateNameThe Name a person chooses to use. this is part of a Self Sovereign name e.g. in the eduId process comparable to schema.org alternateName
preferredNameThe name how the person would like to be called. Usually first name of this person. In line with ISO/IEC 24760 – Identity Management Vocabulary
surnamePrefixThe prefix of the family name of this person
displayNameThe name of this person which will be displayed
initialsThe initials of this person
idCheckNameThe name of the person as printed on official identification documents (driving licence, passport or identity card). This MUST be formatted as "surname prefix surname, given names" (separating surnamePrefix and surname with a single space, and surname and given names with a comma and space).
If the surname or given names are not available or are secret, the values "secret" and "not_available" are recommended. The surname prefix may be omitted. E.g. "van der Graaf, Jacobus Adrianus".
Optionally, the value of the student number can be added to this field by appending it at the end, separated by a comma. E.g. "van der Graaf, Jacobus Adrianus, s12345678"
dateOfBirthThe date of birth of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
cityOfBirthThe city of birth of this person
dateOfNationalityThe date of nationality of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
affiliationsemailThe primary email address of this person
secondaryEmailThe secondary email address of this person
telephoneNumberThe telephone number of this person
mobileNumberThe mobile number of this person
photoSocialThe url of the informal picture of this person
photoOfficialThe url of the official picture of this person
titlePrefixA title prefix to be used for this person
titleSuffixA title suffix to be used for this person
officeThe name of the office where this person is located
ICENameFull name of In Case of Emergency contact
ICEPhoneNumberPhone number of In Case of Emergency contact
languageOfChoiceLanguage (circular)The language(s) of choice for this person according to RFC4647. For details see the descriptions in the Language schema.
An array of additional human readable codes/identifiers for the entity being described.
Assigned resources or time based on the needs of a person. They describe which needs the student requires under which conditions e.g. 15% extra time for tests that requires maths skills. These needs can later in the flows be mapped to a personalNeed for a specific association. Examples of such assignedNeeds: "ExtraTimeOnlyMaths25%", "ExtraTimeOnlyMaths30Min", "ExtraTimeDigitalTests25%"
Programme
programmeIdUnique id for this programme
The primary human readable identifier for the programme. This is often the source identifier as defined by the institution.
programmeTypeThe type of this programme:
- programme: A full formal programme of study leading to a qualification or degree
- minor: A smaller, complementary programme that broadens or deepens the main field of study
- honours: An honours programme, typically with additional academic requirements or distinction
- specialisation: A focused area of study within a broader programme or degree
- track: A structured learning path within a programme, often thematically or methodologically defined
- specification: A further defined variant or subset of a track or specialisation
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this programme
abbreviationThe abbreviation of this programme
descriptionLanguageTypedString (circular)The description of this programme
teachingLanguagesLanguage (circular)The languages in which this programme is given, should be three-letter language codes as specified by ISO 639-2. A student should be reasonably proficient in each language to be able to follow the programme.
qualificationDesignationsAcademic field designations that specify the discipline area of the degree (e.g., "of Arts", "of Sciences", "of Engineering"). Multiple designations may apply to interdisciplinary programmes.
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this programme. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
firstStartDateTimeThe moment when participants can follow this programme for the first time.
fieldsOfStudyField(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). ISCED-F categorizes the fields of study 2 digits at root level and further subdivision as more digits are added. Preferably fieldsOfStudy contains at least 4 digits. ISCEDF2013vSOI2021 currently allows for 6 digits max (https://www.cbs.nl/-/media/cbs/onze-diensten/methoden/classificaties/documents/2025/pubsoi2021_ed2425.pdf). 07 Engineering, manufacturing and construction 073 Architecture and construction 0731 Architecture and town planning 073101 Town planning
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources)
learningOutcomeIdsThe identifiers of the learning outcomes related to this programme.
When the client does not request expansion of learningOutcomes, only these identifiers are returned.
This field is expandable.
The expanded learning outcome objects related to this programme.
When the client requests expansion of learningOutcomes, the full expanded learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
assessmentLanguageTypedString (circular)A description of the way exams for this course are taken (ECTS-assessment method and criteria).
admissionRequirementsLanguageTypedString (circular)This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students.
qualificationRequirementsLanguageTypedString (circular)Normally, students will receive a diploma when they have completed the (official) study programme and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here.
linkURL of the programme's website
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
Addresses for this programme
parentIdThe identifier of the parent programme of which the current programme is a child.
When the client does not request expansion of parent, only this identifier is returned.
This field is expandable.
parentThe expanded parent programme of which the current programme is a child.
When the client requests expansion of parent, the full expanded programme object MUST be returned here instead of only the identifier.
If no parent is defined, this value is null.
childIdsIdentifier (circular)The identifiers of the programmes which are a part of this programme (e.g. specialisations).
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
The expanded programme objects which are a part of this programme (e.g. specialisations).
When the client requests expansion of children, the full expanded programme objects MUST be returned here instead of only the identifiers.
If no children are defined, this value is null.
coordinatorIdsIdentifier (circular)The identifiers of the persons responsible for this programme.
When the client does not request expansion of coordinators, only these identifiers are returned.
This field is expandable.
coordinatorsPerson (circular)The expanded person objects responsible for this programme.
When the client requests expansion of coordinators, the full expanded person objects MUST be returned here instead of only the identifiers.
If no coordinators are defined, this value is null.
instructorIdsIdentifier (circular)The identifiers of the persons teaching or delivering this programme.
When the client does not request expansion of instructors, only these identifiers are returned.
This field is expandable.
instructorsPerson (circular)The expanded person objects teaching or delivering this programme.
When the client requests expansion of instructors, the full expanded person objects MUST be returned here instead of only the identifiers.
If no instructors are defined, this value is null.
organisationIdThe identifier of the organisation providing this programme.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object providing this programme.
When the client requests expansion of organisation, the full expanded organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
supplementaryInformationcircularvalidFromThe first moment this programme is valid (inclusive).
validToThe moment this programme ceases to be valid (e.g. exclusive).
ProgrammeOffering
programmeOfferingIdThe unique ID of the programme offering, this should be unique across all programme, course, learning, and test component offerings.
The primary human readable identifier for this offering. This is often the source identifier as defined by the institution.
nameLanguageTypedString (circular)The name of this offering
The offering identifiers (0..N) associated with this group.
academicSessionIdThe identifier of the academicSession during which this courseOffering takes place.
When the client does not request expansion of academicSession, only this identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object during which this courseOffering takes place.
When the client requests expansion of academicSession, the full expanded academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The state of this offering, e.g. active, inactive, archived
The rostering state of this offering indicating the state in relation to planning, e.g. active, inactive, archived
abbreviationThe abbreviation or internal code used to identify this offering
descriptionLanguageTypedString (circular)The description of this offering.
teachingLanguagesLanguage (circular)The languages in which this course is given, should at least a two-letter language code as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the offering.
modesOfDeliverymaxNumberStudentsThe maximum number of students allowed to enrol for this offering
enrolledNumberStudentsThe number of students who have already enrolled for this offering
pendingNumberStudentsThe number of students who have a pending enrolment request for this offering
minNumberStudentsThe minimum number of students needed for this offering to proceed
resultExpectedresultExpected, previously known as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information. Offerings need not always result in a grade or another type of result. If there is a result expected from a programmeOffering/courseOffering/componentOffering the is resultExpected field should be set to true
linkURL of this offering's webpage.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
An array of periods that a person can enrol into this offering. The period is defined by target group and dateTime
Optional supplementary information associated with this resource.
startDateTimeThe moment on which this offering starts, RFC3339 (date-time)
endDateTimeThe moment on which this offering ends, RFC3339 (date-time)
flexibleEntryPeriodStartDateTimeUse this attribute for courses that allow participants who have already
enrolled to begin their participation at different moments without
missing essential content. This attribute MUST be used in combination
with flexibleEntryPeriodEndDateTime.
flexibleEntryPeriodEndDateTimeIf this is a course wherein participants who have enrolled can start at
various moments without missing anything, use this attribute in
combination with flexibleEntryPeriodStartDateTime.
Addresses for this offering
Price information for this offering.
programmeIdThe identifier of the programme that is offered in this programmeOffering.
When the client does not request expansion of programme, only this identifier is returned.
This field is expandable.
programmeThe expanded programme object that is offered in this programmeOffering.
When the client requests expansion of programme, the full expanded programme object MUST be returned here instead of only the identifier.
If no programme is defined, this value is null.
organisationIdThe identifier of the organisation that manages this programmeOffering.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this programmeOffering.
When the client requests expansion of organisation, the full expanded organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
Room
roomIdUnique id for this room
The primary human readable identifier for the room. This is often the source identifier as defined by the institution.
roomTypeThe type of this room.
- general_purpose: Multi-purpose space used for general activities or flexible functions.
- lecture_room: Room primarily used for lectures or large instructional sessions.
- computer_room: Space equipped with computers for teaching, training or research.
- laboratory: Room designed for practical experiments, testing or scientific work.
- office: Workspace for administrative or academic staff.
- workspace: Shared or individual area for working or studying.
- exam_location: Designated space for taking written or digital examinations.
- study_room: Quiet area intended for individual or group study.
- examination_room: Private space for medical or psychological assessments.
- conference_room: Room intended for meetings, discussions or presentations.
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this room
abbreviationThe abbreviation of the name of this room
descriptionLanguageTypedString (circular)The description of this room. The limited implementation of Git Hub Markdown syntax MAY be used for rich text representation.
totalSeatsThe total number of seats located in the room
availableSeatsThe total number of available (=non-reserved) seats in the room
floorThe floor on which this room is located
wingThe wing in which this room is located
geolocationGeolocation of the entrance of this room (WGS84 coordinate reference system)
An array of additional human readable codes/identifiers for the entity being described.
buildingIdThe identifier of the building in which the room is located.
When the client does not request expansion of building, only this identifier is returned.
This field is expandable.
buildingThe expanded building object in which the room is located.
When the client requests expansion of building, the full building object MUST be returned here instead of only the identifier.
If no building is defined, this value is null.
ProgrammeOfferingAssociation
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: programmeOfferingId, personId | |
| type = object · requires: programmeOfferingId, person | |
| type = object · requires: programmeOffering, person, programmeOfferingId | |
| type = object · requires: programmeOffering, personId, programmeOfferingId | |
| type = object · requires: programmeOfferingId, personId, programmeOffering | |
| type = object · requires: programmeOfferingId, person, programmeOffering | |
| type = object · requires: programmeOffering, person | |
| type = object · requires: programmeOffering, personId |
programmeOfferingIdThe identifier of the programmeOffering referenced here.
When the client does not request expansion of offering, only this identifier is returned.
This field is expandable.
personIdThe identifier of the person referenced here.
When the client does not request expansion of person, only this identifier is returned.
This field is expandable.
programmeOfferingThe expanded programmeOffering object referenced here.
When the client requests expansion of offering, the full expanded programmeOffering object MUST be returned here instead of only the identifier.
If no offering is defined, this value is null.
personThe expanded person object referenced here.
When the client requests expansion of person, the full expanded person object MUST be returned here instead of only the identifier.
If no person is defined, this value is null.
TestComponentOfferingAssociationAttempt
attemptIdUnique id of this attempt
opportunityThe opportunity during which this attempt can be fulfilled. Only relevant when only one attempt is allowed per association.
attemptWhich attempt this is for the given person on the given offering.
startDateTimeMoment (date and time) of the start of the actual attempt. This can be the start date and time for an assessment where the association has no start or end date and time, but only has a relation with an academic session representing a term, trimester, semester or academic year.
endDateTimeMoment (date and time) of the end of the actual attempt. This can be the deadline for handing in a document for an assignment or the end date and time for an test where the association has no start or end date and time, but only has a relation with an academic session representing a term, trimester, semester or academic year.
roomIdsThe identifiers of the rooms for this offering.
When the client does not request expansion of rooms, only these identifiers are returned.
This field is expandable.
roomsThe expanded room objects for this offering.
When the client requests expansion of rooms, the full expanded room objects MUST be returned here instead of only the identifiers.
If no rooms are defined, this value is null.
irregularitiesAdditional information about external disturbances or (potentially) illegal actions by the student, before, during or after the test.
coordinatorIdThe identifier of the coordinator responsible for overseeing the test.
When the client does not request expansion of coordinator, only this identifier is returned.
This field is expandable.
The expanded person object representing the coordinator responsible for overseeing the test.
When the client requests expansion of coordinator, the full person object MUST be returned here instead of only the identifier.
If no coordinator is defined, this value is null.
Documents that are related to the test component offering association attempt. E.g. test completed, work handed in, etc.
expandableObjects
The object that can be expanded for this path.
- academic_session: the academicSession object can be expanded.
- building: the building object can be expanded.
- child: the child object (which is an instance of the current object) can be expanded.
- children: a set of objects (which are an instance of the current object) can be expanded.
- coordinators: the person object indicating a coordinator can be expanded.
- instructors: the person object indicating an instructor can be expanded.
- course: the course object can be expanded.
- course_offering: the courseOffering object can be expanded.
- learning_component: the learningComponent object can be expanded.
- learning_component_offering: the learningComponentOffering object can be expanded.
- learning_outcome: the learningOutcome object can be expanded.
- learning_outcomes: the learningOutcomes in the array containing learningOutcome objects can be expanded.
- organisation: the organisation object can be expanded.
- parent: the parent object (which is an instance of the current object) can be expanded.
- person: the person object can be expanded.
- programme: the programme object can be expanded.
- programmes: the programmes in the array containing programme objects can be expanded.
- programme_offering: the programmeOffering object can be expanded.
- room: the room object can be expanded.
- rooms: the rooms in the array can be expanded.
- test_component: the testComponent object can be expanded.
- test_component_offering: the testComponentOffering object can be expanded.
- year: the academicSession object indicating the year can be expanded.
Problem
typeAn absolute URI that identifies the problem type. When dereferenced, it should provide human-readable documentation.
titleA short, human-readable summary of the problem type
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
detailA human-readable explanation specific to this occurrence of the problem
instanceAn absolute URI that identifies the specific occurrence of the problem.
ProblemVersionNotAcceptable
typeAn absolute URI that identifies the problem type. When dereferenced, it should provide human-readable documentation.
titleA short, human-readable summary of the problem type
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
detailA human-readable explanation specific to this occurrence of the problem
instanceAn absolute URI that identifies the specific occurrence of the problem.
filterPresence
Presence check or special value for filter operations.
Inspired by Storyblok (https://www.storyblok.com/docs/api/content-delivery/v2/filter-queries)
Implementation note:
- The availability and behaviour of this query functionality are entirely determined by the organisation hosting the API implementation. It is not mandatory for implementers to support this functionality, and it cannot be enforced upon organisations that provide or consume OOAPI endpoints.
- It is up to each implementer to decide whether to support this feature. It is not a requirement of the OOAPI standard itself.
- Consumers or working groups that wish to apply specific filtering mechanisms are encouraged to do so using this approach for the sake of consistency across implementations.
academicSessionType
The type of this academic session. This is an extensible enumeration.
- academic_year: Academic year
- semester: Semester, typically comprising two terms per academic year
- trimester: Trimester, typically comprising three terms per academic year
- quarter: Quarter, typically comprising four terms per academic year
- testing_period: A period during which tests take place
- period: Any other period within an academic year
Implementations may add further values beyond those listed above, provided they do not overlap in definition with existing values.
Pagination
pageSizeThe number of items per page
pageNumberThe current page number
hasPreviousPageWhether there is a previous page
hasNextPageWhether there is a previous page
totalPagesTotal number of pages
codeType
The type of code or identifier.
The predefined values are:
| Code | Description |
|---|---|
account_id | Identifier for an account. |
bag_id | Identifier for a building in the Dutch Building and Address |
| Registry (BAG). | |
building_id | Identifier for a building. |
component_code | Identifier for a component (part of a course). |
eckid | Identifier assigned within the Dutch Educatieve ContentKeten iD |
| framework. It enables persistent identification and exchange of | |
| digital learning resources within the Dutch educational sector for | |
| EQF levels 1, 2, 3 and 4. Comparable international approaches | |
| include LRMI, DOI and Handle | |
| identifiers for learning resources. | |
email_address | An email address. |
esi | European Student Identifier. |
group_code | Identifier for a group of people. |
group_type_code | Identifier for the type of group. |
identifier | Generic identifier. |
institution_code | Registration number of an educational institution. In the |
| Netherlands, the former BRIN code has been replaced by the | |
| institution code, issued by the Ministry of Education, Culture | |
| and Science (OCW). | |
isbn | International Standard Book Number (for books). |
issn | International Standard Serial Number (for periodicals). |
kvk_organisation_id | Identifier for a KvK (Dutch Chamber of Commerce) registered |
| organisation. | |
kvk_establishment_id | Identifier for a specific establishment of a KvK |
| (Dutch Chamber of Commerce) registered organisation. | |
leerbedrijf_id | Dutch registration/accreditation id for organisations offering |
| internships for vocational education students. | |
national_identity_number | Government-assigned personal identifier (e.g. NI number in the UK, |
| or personnummer in Sweden). | |
offering_code | Identifier for a specific offering (programme, course or |
| component). | |
organisation_id | Identifier for an organisation. |
orcid | Open Researcher and Contributor ID. |
product_id | Identifier for a product. |
programme_code | Identifier of a programme (a recognised collection of courses). |
| In the Netherlands, the former CREBO and CROHO codes have been | |
| replaced by the programme code as registered in RIO, under the | |
| authority of OCW. | |
room_code | Identifier for a room. |
schac_home | Home organisation represented by its domain name. |
student_number | Identifier for a student. |
studielink_number | Identifier assigned to a student by Studielink (Dutch central |
| enrolment system). | |
system_id | Identifier used within a specific system. |
username | User login name. |
uuid | Universally unique identifier. |
This is an extensible enumeration. Use the prefix x- for custom values.
IdentifierEntry
codeTypeThe type of code or identifier.
The predefined values are:
| Code | Description |
|---|---|
account_id | Identifier for an account. |
bag_id | Identifier for a building in the Dutch Building and Address |
| Registry (BAG). | |
building_id | Identifier for a building. |
component_code | Identifier for a component (part of a course). |
eckid | Identifier assigned within the Dutch Educatieve ContentKeten iD |
| framework. It enables persistent identification and exchange of | |
| digital learning resources within the Dutch educational sector for | |
| EQF levels 1, 2, 3 and 4. Comparable international approaches | |
| include LRMI, DOI and Handle | |
| identifiers for learning resources. | |
email_address | An email address. |
esi | European Student Identifier. |
group_code | Identifier for a group of people. |
group_type_code | Identifier for the type of group. |
identifier | Generic identifier. |
institution_code | Registration number of an educational institution. In the |
| Netherlands, the former BRIN code has been replaced by the | |
| institution code, issued by the Ministry of Education, Culture | |
| and Science (OCW). | |
isbn | International Standard Book Number (for books). |
issn | International Standard Serial Number (for periodicals). |
kvk_organisation_id | Identifier for a KvK (Dutch Chamber of Commerce) registered |
| organisation. | |
kvk_establishment_id | Identifier for a specific establishment of a KvK |
| (Dutch Chamber of Commerce) registered organisation. | |
leerbedrijf_id | Dutch registration/accreditation id for organisations offering |
| internships for vocational education students. | |
national_identity_number | Government-assigned personal identifier (e.g. NI number in the UK, |
| or personnummer in Sweden). | |
offering_code | Identifier for a specific offering (programme, course or |
| component). | |
organisation_id | Identifier for an organisation. |
orcid | Open Researcher and Contributor ID. |
product_id | Identifier for a product. |
programme_code | Identifier of a programme (a recognised collection of courses). |
| In the Netherlands, the former CREBO and CROHO codes have been | |
| replaced by the programme code as registered in RIO, under the | |
| authority of OCW. | |
room_code | Identifier for a room. |
schac_home | Home organisation represented by its domain name. |
student_number | Identifier for a student. |
studielink_number | Identifier assigned to a student by Studielink (Dutch central |
| enrolment system). | |
system_id | Identifier used within a specific system. |
username | User login name. |
uuid | Universally unique identifier. |
This is an extensible enumeration. Use the prefix x- for custom values.
codeHuman readable value for the code/identifier
Language
^([a-z]{2,3})(-([A-Z…The language used in the described entity. A string formatted according to RFC 4647 https://www.rfc-editor.org/rfc/rfc4647.html RFC 4647 supports language specifications from very general to very specific. This breaks down as:
- ([a-z]{2,3}) - Primary language subtag (2-3 letters) ISO 639-1, ISO 639-2, or ISO 639-3 https://www.iso.org/iso-639-language-code
- (-([A-Z]{2}|[0-9]{3}))? - Optional region/country (2 uppercase letters or 3 digits) ISO 3166-1 or UN M.49 https://www.iso.org/iso-3166-country-codes.html
- (-([a-z]{4}))? - Optional script subtag (4 lowercase letters)
- (-([a-z]{2}|[0-9]{3}))* - Optional variant subtags
- (-[a-z0-9]{2,8})* - Optional extension subtags
- (-x(-[a-z0-9]{1,8})+)? - Optional private use extensions
When using this schema, the most common format is a two-letter language code as specified by ISO 639-1, optionally followed by a dash and a two-letter country code as specified by ISO 3166-1 (e.g. "en" or "en-GB"). More specific language tags are also allowed, such as "zh-Hant-TW" for Traditional Chinese as used in Taiwan. For sign language based on a certain language two methods are commonly used: either using the subtag "sgn" (e.g. "nl-sgn-NL" for Dutch Sign Language) or using the subtag "s" (e.g. "nl-s-NL" for Dutch Sign Language). Both methods are allowed.
LanguageTypedString
language^([a-z]{2,3})(-([A-Z… · requiredThe language used in the described entity. A string formatted according to RFC 4647 https://www.rfc-editor.org/rfc/rfc4647.html RFC 4647 supports language specifications from very general to very specific. This breaks down as:
- ([a-z]{2,3}) - Primary language subtag (2-3 letters) ISO 639-1, ISO 639-2, or ISO 639-3 https://www.iso.org/iso-639-language-code
- (-([A-Z]{2}|[0-9]{3}))? - Optional region/country (2 uppercase letters or 3 digits) ISO 3166-1 or UN M.49 https://www.iso.org/iso-3166-country-codes.html
- (-([a-z]{4}))? - Optional script subtag (4 lowercase letters)
- (-([a-z]{2}|[0-9]{3}))* - Optional variant subtags
- (-[a-z0-9]{2,8})* - Optional extension subtags
- (-x(-[a-z0-9]{1,8})+)? - Optional private use extensions
When using this schema, the most common format is a two-letter language code as specified by ISO 639-1, optionally followed by a dash and a two-letter country code as specified by ISO 3166-1 (e.g. "en" or "en-GB"). More specific language tags are also allowed, such as "zh-Hant-TW" for Traditional Chinese as used in Taiwan. For sign language based on a certain language two methods are commonly used: either using the subtag "sgn" (e.g. "nl-sgn-NL" for Dutch Sign Language) or using the subtag "s" (e.g. "nl-s-NL" for Dutch Sign Language). Both methods are allowed.
valueString to describe the entity.
Consumer
consumerKeyThe key of the consumer (destination) for which this information is intended. See the consumer registry. This key is used to select the additional data to be presented in the request.
examplePropertyAn example of an additional property
offeringState
The state of this offering:
- concept: The offering is still in development and not yet available for students
- cancelled: The offering has been cancelled and is no longer available
- active: The offering is currently available for students to enrol in and participate
- inactive: The offering is not currently available for students, but may be available in the future
This is an extensible enumeration. Use the prefix x- for custom values.
CourseOfferingId
courseOfferingIdThe unique ID of the course offering, this should be unique across all programme, course, learning, and test component offerings.
rosteringState
Precision indicator with values for rostering purposes:
- definitive: Confirmed final timeslot.
- preliminary: Broadest possible time range, will be further refined.
- tentative: Scheduled but subject to change.
This is an extensible enumeration. Use the prefix x- for custom values.
modeOfDelivery
The mode of delivery of the component, based on the EU vocabulary:
https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/learning-assessment
| Code | Description |
|---|---|
blended | Structured combination of online and in-person learning |
coil | Collaborative Online International Learning; joint, cross- |
| institutional, online delivery (virtual exchange / | |
| co-taught across institutions) | |
hybrid | Delivery using different modes in a flexible and |
| interchangeable way | |
joint_delivery | Programme delivered collaboratively by two or more |
| institutions (national or international), with shared | |
| responsibility for curriculum and teaching | |
online | Real-time learning delivered entirely via the internet |
presential | Learning that takes place in a physical classroom setting |
project_based | Learning or assessment conducted as part of a project team |
research_lab_based | Learning that occurs within a research environment |
work_based | Learning through practical work or workplace experience |
This is an extensible enumeration. Use the prefix x- for custom values.
resultValueType
The result value type for this offering.
- pass_or_fail: A simple pass or fail result.
- insufficient_satisfactory_good: A result with three levels (insufficient, satisfactory and good).
- us_letter: A result in the US letter grading system (A, B, C, D, F).
- uk_letter: A result in the UK letter grading system (A, B, C, D, E, U).
- de_grade: A result in the German grading system (1, 2, 3, 4, 5, 6).
- grade_0_100: A result in the 0–100 grading system.
- grade_0_10: A result in the 0–10 grading system (no decimals allowed).
- grade_0_10_one_decimal: A result in the 0–10 grading system (with one decimal place).
- reference_level_europass: A result in the Europass reference level grading system (A1, A2, B1, B2, C1, C2).
- other: Any other grading system not specified above.
This is an extensible enumeration. Use the prefix x- for custom values.
EnrolmentPeriods
startDateTimeThe moment from which the enrolment should be available
endDateTimeThe moment until which the enrolment should be available (when the enrolment for this target group stops), RFC3339 (date-time)
targetGroupsThe people for whom this enrolment is available.
enrolmentTypeThe way the enrolment process should be handled for this period and target group. Likely values are: url - a url where the user should be directed to for finishing the enrolment broker - using a system that is specialized to handle enrolment
enrolmentUrlThe URL where a person of this target group can enrol him or herself
queueEnableda boolean value (true or false) indicating whether enrolment is queued.
queuedNumberStudentsThe number of students that have a queued enrolment state for this offering.
maxQueuedNumberStudentsThe maximum number of students allowed in the queue for this offering.
commentAdditional information regarding this enrolment period that can be shared with the persons in the target groups.
supplementaryRole
The fundamental semantic purpose of the supplementary content. The selected
role describes the intent or function of the item (for example, badge,
teaser or promotional highlight).
The role MUST NOT duplicate or encode the technical media form defined by
type. The type specifies the underlying media form (such as text, image,
video or http), whereas the role clarifies how that media is intended to be
interpreted or used.
| Code | Description |
|---|---|
announcement | General-purpose announcement or notice |
badge | A visual label or achievement marker |
marketing | Promotional or marketing-related content |
promo | A short promotional highlight or teaser |
This is an extensible enumeration. Use the prefix x- for custom values.
supplementaryType
The fundamental media form of the supplementary content. The selected type
determines how the associated value MUST be interpreted. It defines the
technical representation of the content, independent of its semantic role.
The type specifies the underlying media form, such as text_plain,
text_md, text_http, image, video or uri.
The role defines the semantic intent of the item and MUST NOT duplicate the
technical media form defined by type.
| Code | Description |
|---|---|
image | Visual media referenced via a URI (for example photographs or artwork) |
text_http | HTTP-encoded textual content |
text_md | Markdown-formatted text content. |
text_plain | Plain text content. |
uri | A URI linking to an external resource |
video | Video media referenced via a URI (for example recordings or trailers) |
This is an extensible enumeration. Use the prefix x- for custom values.
SupplementaryInformation
Optional supplementary information associated with this resource.
roleThe fundamental semantic purpose of the supplementary content. The selected
role describes the intent or function of the item (for example, badge,
teaser or promotional highlight).
The role MUST NOT duplicate or encode the technical media form defined by
type. The type specifies the underlying media form (such as text, image,
video or http), whereas the role clarifies how that media is intended to be
interpreted or used.
| Code | Description |
|---|---|
announcement | General-purpose announcement or notice |
badge | A visual label or achievement marker |
marketing | Promotional or marketing-related content |
promo | A short promotional highlight or teaser |
This is an extensible enumeration. Use the prefix x- for custom values.
typeThe fundamental media form of the supplementary content. The selected type
determines how the associated value MUST be interpreted. It defines the
technical representation of the content, independent of its semantic role.
The type specifies the underlying media form, such as text_plain,
text_md, text_http, image, video or uri.
The role defines the semantic intent of the item and MUST NOT duplicate the
technical media form defined by type.
| Code | Description |
|---|---|
image | Visual media referenced via a URI (for example photographs or artwork) |
text_http | HTTP-encoded textual content |
text_md | Markdown-formatted text content. |
text_plain | Plain text content. |
uri | A URI linking to an external resource |
video | Video media referenced via a URI (for example recordings or trailers) |
This is an extensible enumeration. Use the prefix x- for custom values.
OfferingProperties
The primary human readable identifier for this offering. This is often the source identifier as defined by the institution.
nameLanguageTypedString (circular)The name of this offering
The offering identifiers (0..N) associated with this group.
academicSessionIdThe identifier of the academicSession during which this courseOffering takes place.
When the client does not request expansion of academicSession, only this identifier is returned.
This field is expandable.
academicSessionThe expanded academicSession object during which this courseOffering takes place.
When the client requests expansion of academicSession, the full expanded academicSession object MUST be returned here instead of only the identifier.
If no academicSession is defined, this value is null.
The state of this offering, e.g. active, inactive, archived
The rostering state of this offering indicating the state in relation to planning, e.g. active, inactive, archived
abbreviationThe abbreviation or internal code used to identify this offering
descriptionLanguageTypedString (circular)The description of this offering.
teachingLanguagesLanguage (circular)The languages in which this course is given, should at least a two-letter language code as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the offering.
modesOfDeliverymaxNumberStudentsThe maximum number of students allowed to enrol for this offering
enrolledNumberStudentsThe number of students who have already enrolled for this offering
pendingNumberStudentsThe number of students who have a pending enrolment request for this offering
minNumberStudentsThe minimum number of students needed for this offering to proceed
resultExpectedresultExpected, previously known as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information. Offerings need not always result in a grade or another type of result. If there is a result expected from a programmeOffering/courseOffering/componentOffering the is resultExpected field should be set to true
linkURL of this offering's webpage.
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
An array of periods that a person can enrol into this offering. The period is defined by target group and dateTime
Optional supplementary information associated with this resource.
addressType
The type of address, indicating its intended use:
- postal: Used for receiving post
- visit: Used for physical visits
- deliveries: Used for deliveries
- invoicing: Used for invoicing purposes
- teaching: The location where educational activities take place
This is an extensible enumeration. Use the prefix x- for custom values.
Country
iso3166-1-alpha2A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
iso3166-1-alpha3A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
iso3166-2A country subdivision code based on https://en.wikipedia.org/wiki/ISO_3166-2
iso3166-3A code for a country that no longer exists is listed on ISO 3166-3 (https://en.wikipedia.org/wiki/ISO_3166-3). Implementations should refrain from using the original ISO 3166-1 code for such a country since country codes can be reassigned to new countries once the original country code is officially declared obsolete.
Address
addressTypeThe type of address, indicating its intended use:
- postal: Used for receiving post
- visit: Used for physical visits
- deliveries: Used for deliveries
- invoicing: Used for invoicing purposes
- teaching: The location where educational activities take place
This is an extensible enumeration. Use the prefix x- for custom values.
streetThe street name
streetNumberThe street number
Further details like building name, suite, apartment number, etc.
postCodeCode to help sort and deliver mail also known as Postal code and ZIP code
cityname of the city / locality
geolocationGeolocation of the entrance of this address (WGS84 coordinate reference system)
costType
The type of cost. This is an extensible enumeration.
The following values are defined in the specification:
- stap_eligible: costs for which a student may receive STAP funding
- total_costs: the total amount a student is required to pay to participate in this offering
Implementations may add additional values beyond those listed above, provided they do not overlap in meaning with existing values.
Cost
costTypeThe type of cost. This is an extensible enumeration.
The following values are defined in the specification:
- stap_eligible: costs for which a student may receive STAP funding
- total_costs: the total amount a student is required to pay to participate in this offering
Implementations may add additional values beyond those listed above, provided they do not overlap in meaning with existing values.
amount^\d+(?:\.\d+)?$The total amount of the cost as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma.
vatAmount^\d+(?:\.\d+)?$The part of the cost that is VAT, as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma.
amountWithoutVat^\d+(?:\.\d+)?$The part of the cost that is non-VAT. as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma.
currencyThe currency this cost is in. Should correspond to one of the currency codes from ISO 4217.
An array of optional pre-formatted strings in different locales. Clients can choose to use this string instead of rendering their own based on the current locale of the user.
CourseId
courseIdUnique id of this course
studyloadUnit
The unit in which the study load is specified:
- contact_time: Amount of time spent in scheduled classroom or contact hours.
- ects: European Credit Transfer and Accumulation System (ECTS credits), typically 1 ECTS = 28 study hours.
- sbu: Student workload hours, representing the total estimated effort.
- sp: Study points used in some national systems (e.g. studiepunt in Flanders or the Netherlands).
- hour: Plain number of hours, regardless of context (e.g. used for informal or modular learning units).
This is an extensible enumeration. Use the prefix x- for custom values.
StudyLoadDescriptor
studyLoadUnitThe unit in which the study load is specified:
- contact_time: Amount of time spent in scheduled classroom or contact hours.
- ects: European Credit Transfer and Accumulation System (ECTS credits), typically 1 ECTS = 28 study hours.
- sbu: Student workload hours, representing the total estimated effort.
- sp: Study points used in some national systems (e.g. studiepunt in Flanders or the Netherlands).
- hour: Plain number of hours, regardless of context (e.g. used for informal or modular learning units).
This is an extensible enumeration. Use the prefix x- for custom values.
valueThe amount of load depicted in numbers
learningOutcomeLevel
The level of the learning outcome. This field supports multiple frameworks for describing cognitive complexity. Two common frameworks are provided below: Bloom’s and SOLO. These are intended as examples — additional levels or entirely different frameworks MAY be added as needed.
Bloom’s taxonomy (https://en.wikipedia.org/wiki/Bloom's_taxonomy):
| Level | Label | Description |
|---|---|---|
| bloom_1 | Remember | Recall facts and basic concepts (define, list, state). |
| bloom_2 | Understand | Explain ideas or concepts (describe, discuss, explain). |
| bloom_3 | Apply | Use knowledge in new situations (implement, solve, use). |
| bloom_4 | Analyse | Draw connections among ideas (differentiate, compare, examine). |
| bloom_5 | Evaluate | Justify a decision or course of action (critique, assess, argue). |
| bloom_6 | Create | Produce new or original work (design, construct, develop). |
SOLO taxonomy (https://en.wikipedia.org/wiki/Structure_of_observed_learning_outcome):
| Level | Label | Description |
|---|---|---|
| solo_0 | Prestructural | No understanding; the student misses the point. |
| solo_1 | Unistructural | Identifies or carries out simple procedures; limited to one |
| relevant aspect. | ||
| solo_2 | Multistructural | Addresses several relevant aspects, but sees them as unrelated; |
| knowledge is additive. | ||
| solo_3 | Relational | Integrates aspects into a coherent whole, showing deeper |
| understanding of relationships. | ||
| solo_4 | Extended abstract | Generalises and applies learning to new domains, showing |
| theoretical and abstract thinking. |
This is an extensible enumeration. Implementers MAY introduce other recognised taxonomies, institutional or national frameworks.
level
The level of this course (ECTS year of study if applicable):
- pre_vocational: Pre-vocational education, preparatory stage prior to vocational training, typically before secondary vocational education (Dutch: mbo) level
- secondary_vocational_education: Secondary vocational education (Dutch: mbo)
- secondary_vocational_education_1: Secondary vocational education level 1, corresponds to levelOfQualification 1 (Dutch: mbo 1)
- secondary_vocational_education_2: Secondary vocational education level 2, corresponds to levelOfQualification 2 (Dutch: mbo 2)
- secondary_vocational_education_3: Secondary vocational education level 3, corresponds to levelOfQualification 3 (Dutch: mbo 3)
- secondary_vocational_education_4: Secondary vocational education level 4, corresponds to levelOfQualification 4 (Dutch: mbo 4)
- associate_degree: Associate degree, corresponds to levelOfQualification 5
- bachelor: Bachelor degree, corresponds to levelOfQualification 6
- master: Master degree, corresponds to levelOfQualification 7
- doctoral: Doctoral level, corresponds to levelOfQualification 8
- post_doctoral: Post-doctoral level, advanced academic or professional qualification beyond the doctoral level
- undefined: The level is not specified
- undivided: Integrated programme not divided into bachelor and master phases
- nt2_1: Dutch as a second language, Programme I, intended for vocational training (CEFR level A2–B1)
- nt2_2: Dutch as a second language, Programme II, intended for higher education or professional purposes (CEFR level B2)
This is an extensible enumeration. Use the prefix x- for custom values.
ProgrammeId
programmeIdUnique id for this programme
programmeType
The type of this programme:
- programme: A full formal programme of study leading to a qualification or degree
- minor: A smaller, complementary programme that broadens or deepens the main field of study
- honours: An honours programme, typically with additional academic requirements or distinction
- specialisation: A focused area of study within a broader programme or degree
- track: A structured learning path within a programme, often thematically or methodologically defined
- specification: A further defined variant or subset of a track or specialisation
This is an extensible enumeration. Use the prefix x- for custom values.
qualificationAwarded
Type of qualification that can be obtained upon completing the programme:
- diploma
- vocational_diploma
- certificate
- associate_degree: Associate degree — short-cycle higher education qualification (EQF level 5)
- bachelor: Bachelor — undergraduate degree (EQF level 6)
- master: Master — postgraduate degree (EQF level 7)
- doctoral: Doctoral degree — research-based doctoral degree (EQF level 8)
- none: No formal qualification is awarded for this programme
In case of a degree (for example bachelor or master), the type of degree can be specified using qualificationDesignations.
modeOfStudy
Indicates the mode of study: full-time, part-time, dual or self-paced.
- full_time: Standard daytime study schedule
- part_time: Study scheduled outside regular working hours, such as evenings and weekends
- dual_training: Combination of workplace learning and academic study
- self_paced: Student sets their own pace and timing for study
This is an extensible enumeration. Use the prefix x- for custom values.
levelOfQualification
Level of qualification according to the European Qualifications Framework (EQF).
See:
- https://europass.europa.eu/en/description-eight-eqf-levels
- https://europass.europa.eu/en/europass-digital-tools/european-qualifications-framework
- https://nlqf.nl/
- https://database.nlqf.nl/assets/pdf/schema-en-print.pdf
This list is extended with:
- eqf_0: Informal or pre-qualification learning, below EQF level 1, e.g. basic literacy or life skills
- eqf_1: Basic general knowledge and skills to carry out simple tasks
- eqf_2: Basic factual knowledge and practical skills in a field of work or study
- eqf_3: Knowledge of facts, principles and processes, with basic problem-solving skills
- eqf_4: Factual and theoretical knowledge in broad contexts within a field of work or study
- nlqf_4plus: Dutch pre-university education (VWO), considered above EQF level 4 but not formally mapped to EQF level 5
- eqf_5: Comprehensive, specialised knowledge and practical skills, typically short-cycle higher education (e.g. associate degree)
- eqf_6: Advanced knowledge and skills for complex problem-solving, typically bachelor level
- eqf_7: Highly specialised knowledge and critical awareness, typically master level
- eqf_8: Knowledge at the most advanced frontier of a field, typically doctoral level
This is an extensible enumeration. Use the prefix x- for custom values.
formalDocument
The type of formal document obtained upon completion of an educational programme:
| Code | Description |
|---|---|
certificate | A formal recognition of participation or |
| achievement | |
diploma | An official qualification awarded upon |
| graduation | |
micro_credential_certificate | Formal certification specifically |
| documenting the award of a micro-credential | |
school_advice | Educational recommendation or guidance issued |
| by the school | |
testimonial | A written statement confirming attendance or |
| performance | |
no_official_document | No official document is issued |
This is an extensible enumeration. Use the prefix x- for custom values.
Nationality
iso3166-1-alpha2A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
iso3166-1-alpha3A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
iso3166-3A nationality code for a country that no longer exists on https://en.wikipedia.org/wiki/ISO_3166-3 It is not advised to use the original iso3166-1 for such a country since country codes can get reassigned to new countries ones the original country code is officially obsolete. It is possible that a person has a nationality of a country that does not exist any more (after a country got split up like CZ and YU)\ and never applied for nationality of one of the new countries.
personAffiliation
The affiliations of this person — the roles or relationships a person has with the organisation providing this endpoint:
- student: Enrolled learner or participant in educational offerings
- employee: Staff member employed by the organisation (e.g. teacher, administrator)
- guest: External person temporarily affiliated, without formal student or employee status
This is an extensible enumeration. Use the prefix x- for custom values.
gender
The gender of this person, based on international standards for education and data interoperability.
The values follow practices from agencies such as:
-
European Commission (EULF, INSPIRE, GeoDCAT-AP)
-
Edustandaard, EUNIS
-
m: male
-
f: female
-
x: non-binary or gender-diverse, officially registered
-
o: other gender identity, not officially classified as m/f/x
-
u: unknown or not registered
-
n: not applicable, e.g. for non-person entities or gender-irrelevant use cases
ICERelationType
The type of relationship between the person and their In Case of Emergency (ICE) contact:
- partner: Spouse or life partner
- parent: Biological, adoptive, or legal parent
- other: Any other type of relationship (e.g. sibling, friend, neighbour)
This is an extensible enumeration. Use the prefix x- for custom values.
PersonProperties
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: surname, primaryCode, activeEnrolment | |
| type = object · requires: givenname, primaryCode, activeEnrolment | |
| type = object · requires: preferredName, primaryCode, activeEnrolment |
The primary human readable identifier for the person. This is often the source identifier as defined by the institution.
surnameThe family name of this person
activeEnrolmentWhether this person has an active enrolment.
givenNameThe first name of this person
alternateNameThe Name a person chooses to use. this is part of a Self Sovereign name e.g. in the eduId process comparable to schema.org alternateName
preferredNameThe name how the person would like to be called. Usually first name of this person. In line with ISO/IEC 24760 – Identity Management Vocabulary
surnamePrefixThe prefix of the family name of this person
displayNameThe name of this person which will be displayed
initialsThe initials of this person
idCheckNameThe name of the person as printed on official identification documents (driving licence, passport or identity card). This MUST be formatted as "surname prefix surname, given names" (separating surnamePrefix and surname with a single space, and surname and given names with a comma and space).
If the surname or given names are not available or are secret, the values "secret" and "not_available" are recommended. The surname prefix may be omitted. E.g. "van der Graaf, Jacobus Adrianus".
Optionally, the value of the student number can be added to this field by appending it at the end, separated by a comma. E.g. "van der Graaf, Jacobus Adrianus, s12345678"
dateOfBirthThe date of birth of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
cityOfBirthThe city of birth of this person
dateOfNationalityThe date of nationality of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
affiliationsemailThe primary email address of this person
secondaryEmailThe secondary email address of this person
telephoneNumberThe telephone number of this person
mobileNumberThe mobile number of this person
photoSocialThe url of the informal picture of this person
photoOfficialThe url of the official picture of this person
titlePrefixA title prefix to be used for this person
titleSuffixA title suffix to be used for this person
officeThe name of the office where this person is located
ICENameFull name of In Case of Emergency contact
ICEPhoneNumberPhone number of In Case of Emergency contact
languageOfChoiceLanguage (circular)The language(s) of choice for this person according to RFC4647. For details see the descriptions in the Language schema.
An array of additional human readable codes/identifiers for the entity being described.
Assigned resources or time based on the needs of a person. They describe which needs the student requires under which conditions e.g. 15% extra time for tests that requires maths skills. These needs can later in the flows be mapped to a personalNeed for a specific association. Examples of such assignedNeeds: "ExtraTimeOnlyMaths25%", "ExtraTimeOnlyMaths30Min", "ExtraTimeDigitalTests25%"
organisationType
The type of this organisation. When using non-root organisation types, make sure that there is always a parent organisation of type root available.
- root: The top-level organisation, representing the organisation itself
- institute: A subdivision of the root organisation, typically focused on a broad field of study
- department: An organisational unit within an organisation or one of the subdivisions of an organisation, focused on a specific discipline
- faculty: A major academic division within an institution, often overseeing multiple departments
- branch: A geographically separate location or campus of an organisation
- academy: A specialised academic unit, often focused on applied or artistic disciplines
- school: An organisational unit typically used in primary, secondary, or specialised higher education contexts
This is an extensible enumeration. Use the prefix x- for custom values.
ProgrammeProperties
The primary human readable identifier for the programme. This is often the source identifier as defined by the institution.
programmeTypeThe type of this programme:
- programme: A full formal programme of study leading to a qualification or degree
- minor: A smaller, complementary programme that broadens or deepens the main field of study
- honours: An honours programme, typically with additional academic requirements or distinction
- specialisation: A focused area of study within a broader programme or degree
- track: A structured learning path within a programme, often thematically or methodologically defined
- specification: A further defined variant or subset of a track or specialisation
This is an extensible enumeration. Use the prefix x- for custom values.
The name of this programme
abbreviationThe abbreviation of this programme
descriptionLanguageTypedString (circular)The description of this programme
teachingLanguagesLanguage (circular)The languages in which this programme is given, should be three-letter language codes as specified by ISO 639-2. A student should be reasonably proficient in each language to be able to follow the programme.
qualificationDesignationsAcademic field designations that specify the discipline area of the degree (e.g., "of Arts", "of Sciences", "of Engineering"). Multiple designations may apply to interdisciplinary programmes.
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this programme. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
firstStartDateTimeThe moment when participants can follow this programme for the first time.
fieldsOfStudyField(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). ISCED-F categorizes the fields of study 2 digits at root level and further subdivision as more digits are added. Preferably fieldsOfStudy contains at least 4 digits. ISCEDF2013vSOI2021 currently allows for 6 digits max (https://www.cbs.nl/-/media/cbs/onze-diensten/methoden/classificaties/documents/2025/pubsoi2021_ed2425.pdf). 07 Engineering, manufacturing and construction 073 Architecture and construction 0731 Architecture and town planning 073101 Town planning
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources)
learningOutcomeIdsThe identifiers of the learning outcomes related to this programme.
When the client does not request expansion of learningOutcomes, only these identifiers are returned.
This field is expandable.
The expanded learning outcome objects related to this programme.
When the client requests expansion of learningOutcomes, the full expanded learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
assessmentLanguageTypedString (circular)A description of the way exams for this course are taken (ECTS-assessment method and criteria).
admissionRequirementsLanguageTypedString (circular)This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students.
qualificationRequirementsLanguageTypedString (circular)Normally, students will receive a diploma when they have completed the (official) study programme and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here.
linkURL of the programme's website
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
Addresses for this programme
parentIdThe identifier of the parent programme of which the current programme is a child.
When the client does not request expansion of parent, only this identifier is returned.
This field is expandable.
parentThe expanded parent programme of which the current programme is a child.
When the client requests expansion of parent, the full expanded programme object MUST be returned here instead of only the identifier.
If no parent is defined, this value is null.
childIdsIdentifier (circular)The identifiers of the programmes which are a part of this programme (e.g. specialisations).
When the client does not request expansion of children, only these identifiers are returned.
This field is expandable.
Although childIds and children (for example organisationIds versus organisations) may
seem unusual, this naming is intentional and follows the singular–plural convention defined
by the specification.
The expanded programme objects which are a part of this programme (e.g. specialisations).
When the client requests expansion of children, the full expanded programme objects MUST be returned here instead of only the identifiers.
If no children are defined, this value is null.
coordinatorIdsIdentifier (circular)The identifiers of the persons responsible for this programme.
When the client does not request expansion of coordinators, only these identifiers are returned.
This field is expandable.
coordinatorsPerson (circular)The expanded person objects responsible for this programme.
When the client requests expansion of coordinators, the full expanded person objects MUST be returned here instead of only the identifiers.
If no coordinators are defined, this value is null.
instructorIdsIdentifier (circular)The identifiers of the persons teaching or delivering this programme.
When the client does not request expansion of instructors, only these identifiers are returned.
This field is expandable.
instructorsPerson (circular)The expanded person objects teaching or delivering this programme.
When the client requests expansion of instructors, the full expanded person objects MUST be returned here instead of only the identifiers.
If no instructors are defined, this value is null.
organisationIdThe identifier of the organisation providing this programme.
When the client does not request expansion of organisation, only this identifier is returned.
This field is expandable.
organisationThe expanded organisation object providing this programme.
When the client requests expansion of organisation, the full expanded organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
supplementaryInformationcircularCourseProperties
The primary human readable identifier for this course. This is often the source identifier as defined by the institution.
The name of this course (ECTS-title)
abbreviationThe abbreviation or internal code used to identify this course (ECTS-code)
modesOfDeliveryduration^(-?)P(?=\d|T\d)(?:(…The duration of this course. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339.
firstStartDateThe date and time when participants can follow this course for the first time.
descriptionLanguageTypedString (circular)The description of this course (ECTS-description).
teachingLanguagesLanguage (circular)The languages in which this course is given, should be three-letter language codes as specified by RFC 4647. A student should be reasonably proficient in each language to be able to follow the course.
fieldsOfStudyField(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). ISCED-F categorizes the fields of study 2 digits at root level and further subdivision as more digits are added. Preferably fieldsOfStudy contains at least 4 digits. ISCEDF2013vSOI2021 currently allows for 6 digits max (https://www.cbs.nl/-/media/cbs/onze-diensten/methoden/classificaties/documents/2025/pubsoi2021_ed2425.pdf). 07 Engineering, manufacturing and construction 073 Architecture and construction 0731 Architecture and town planning 073101 Town planning
learningOutcomeIdsThe identifiers of the learning outcomes related to this course.
When the client does not request expansion of learningOutcomes, only these
identifiers are returned.
This field is expandable.
The expanded learning outcome objects related to this course.
When the client requests expansion of learningOutcomes, the full expanded
learning outcome objects MUST be returned here instead of only the identifiers.
If no learning outcomes are defined, this value is null.
admissionRequirementsLanguageTypedString (circular)This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students.
qualificationRequirementsLanguageTypedString (circular)Normally, students will receive a diploma when they have completed the (official) study programme and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here.
enrolmentLanguageTypedString (circular)The extra information that is provided for enrolment
resourcesAn overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources)
assessmentLanguageTypedString (circular)A description of the way exams for this course are taken (ECTS-assessment method and criteria).
linkURL of the course's website
Addresses for this course
otherCodesIdentifierEntry (circular)An array of additional human readable codes/identifiers for the entity being described.
programmeIdsIdentifier (circular)The identifiers of the programmes of which this course is a part.
This array is used because a course can belong to multiple programmes,
for example in alliances.
When the client does not request expansion of programmes, only these
identifiers are returned.
This field is expandable.
Optional supplementary information associated with this resource.
The expanded programme objects of which this course is a part.
This array is used because a course can belong to multiple programmes,
for example in alliances.
When the client requests expansion of programmes, the full expanded
programme objects MUST be returned here instead of only the identifiers.
If no programmes are defined, this value is null.
coordinatorIdsIdentifier (circular)The identifiers of the persons responsible for this course.
When the client does not request expansion of coordinators, only these
identifiers are returned.
This field is expandable.
coordinatorsPerson (circular)The expanded person objects responsible for this course.
When the client requests expansion of coordinators, the full expanded
person objects MUST be returned here instead of only the identifiers.
If no coordinators are defined, this value is null.
instructorIdsIdentifier (circular)The identifiers of the persons teaching or delivering this course.
When the client does not request expansion of instructors, only these
identifiers are returned.
This field is expandable.
instructorsPerson (circular)The expanded person objects teaching or delivering this course.
When the client requests expansion of instructors, the full expanded
person objects MUST be returned here instead of only the identifiers.
If no instructors are defined, this value is null.
organisationIdThe identifier of the organisation that manages this course.
When the client does not request expansion of organisation, only this
identifier is returned.
This field is expandable.
organisationThe expanded organisation object that manages this course.
When the client requests expansion of organisation, the full expanded
organisation object MUST be returned here instead of only the identifier.
If no organisation is defined, this value is null.
ProgrammeOfferingId
programmeOfferingIdThe unique ID of the programme offering, this should be unique across all programme, course, learning, and test component offerings.
LearningComponentOfferingId
learningComponentOfferingIdThe unique ID of the learning component offering, this should be unique across all programme, course, learning, and test component offerings.
roomType
The type of this room.
- general_purpose: Multi-purpose space used for general activities or flexible functions.
- lecture_room: Room primarily used for lectures or large instructional sessions.
- computer_room: Space equipped with computers for teaching, training or research.
- laboratory: Room designed for practical experiments, testing or scientific work.
- office: Workspace for administrative or academic staff.
- workspace: Shared or individual area for working or studying.
- exam_location: Designated space for taking written or digital examinations.
- study_room: Quiet area intended for individual or group study.
- examination_room: Private space for medical or psychological assessments.
- conference_room: Room intended for meetings, discussions or presentations.
This is an extensible enumeration. Use the prefix x- for custom values.
learningComponentType
The type of learning component, indicating the format or method of educational delivery. One learning component of a certain type can have multiple offerings, one component can refer to a set of componentOfferings. e.g. the component lecture can be a set of lectures (group of offerings) An example of such a case in natural language: the lecture takes place weekly for 7 weeks This implies one learningComponent of type lecture with seven learningComponentOfferings of type lecture.
| Code | Description |
|---|---|
consultation | Scheduled meeting for individual or group guidance. |
excursion | Educational trip or site visit. |
external | Activity outside the home institution (e.g. internship, |
| course at a partner institution). | |
independent_study | Self-directed learning without scheduled contact hours. |
learning_community | Structured collaboration between education, research and |
| industry with shared ownership of learning and outcomes; | |
| distinct from internships and from COIL. | |
lecture | Classroom-based or online lecture given by an instructor. |
practical | Hands-on session focusing on application of concepts. |
project | Structured assignment carried out over a period of time. |
skills_training | Session focused on developing specific practical or |
| professional skills. | |
tutorial | Interactive small-group session to reinforce learning. |
workshop | Intensive session focused on practical skills or knowledge. |
This is an extensible enumeration. Use the prefix x- for custom values.
TestComponentOfferingId
testComponentOfferingIdThe unique ID of the test component offering, this should be unique across all programme, course, learning, and test component offerings.
testComponentType
The way the test is conducted. This can be a test on paper, a digital test, a life-skills test, an oral test, or a portfolio assessment.
Together with modeOfStudy or assessment, it indicates where the test is taken and how it is conducted:
- test_on_paper: Written examination on paper, typically in a controlled setting.
- digital_test: Computer-based or online test, conducted via a digital platform.
- life_skills_test: Practical assessment of real-world competencies and life-skills.
- oral_test: Spoken examination, typically involving verbal questioning and answering.
- portfolio_assessment: Evaluation based on a collection of the candidate's work over time.
This is an extensible enumeration. Use the prefix x- for custom values.
componentState
The state of this component or offering:
- concept: not yet finalised or published
- cancelled: withdrawn and no longer available
- active: currently available and in use
- inactive: no longer in use, but not cancelled
This is an extensible enumeration. Use the prefix x- for custom values.
documentType
The type of document:
- additional_document: Used to provide supplementary information
- assessment_form: A form used to assess a test
- assessment_model: A formal description of how a test is assessed
- assignment: A description of what is expected from a student, e.g. to submit a paper
- attendance_report: A report containing information on a student’s attendance for a course or test
- handed_in_document: A document submitted by the student
- instructions: Instructions for the student on how to enrol in a course or take a test
- plagiarism_report: A report containing information on (potential) plagiarism, e.g. in a submitted document
- session_report: A report containing information on a session, e.g. an academic session, course, or test session
- test_made: The completed test, including all answers provided by the student
- other: Any other type of document not listed above
This is an extensible enumeration. Use the prefix x- for custom values.
associationRole
The role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
associationState
The state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
remoteAssociationState
The state of this association for the organisation performing the request:
- pending: The association request has been submitted, but not yet processed
- cancelled: The association request was withdrawn before completion
- denied: The association request was reviewed, and explicitly rejected
- associated: The association has been successfully established, and is active
- queued: The association request is awaiting processing in a queue
This is an extensible enumeration. Use the prefix x- for custom values.
AssociationProperties
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
resultState
The state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
passState
The state of this result:
- unknown: The result has not been determined, recorded, or is not yet available
- passed: The individual has met the required criteria to pass
- failed: The individual did not meet the required criteria to pass
This is an extensible enumeration. Use the prefix x- for custom values.
Document
documentIdThe unique identifier of the document
documentTypeThe type of document:
- additional_document: Used to provide supplementary information
- assessment_form: A form used to assess a test
- assessment_model: A formal description of how a test is assessed
- assignment: A description of what is expected from a student, e.g. to submit a paper
- attendance_report: A report containing information on a student’s attendance for a course or test
- handed_in_document: A document submitted by the student
- instructions: Instructions for the student on how to enrol in a course or take a test
- plagiarism_report: A report containing information on (potential) plagiarism, e.g. in a submitted document
- session_report: A report containing information on a session, e.g. an academic session, course, or test session
- test_made: The completed test, including all answers provided by the student
- other: Any other type of document not listed above
This is an extensible enumeration. Use the prefix x- for custom values.
documentNameThe name of the document
Result
stateThe state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
resultDateTimeThe date this result has been published, RFC3339 (full-date)
commentThe comment on this result
scoreThe score of this programme/course/component association (based on resultValueType in offering)
rawScoreThe number of points scored by a person (on the test or assessment) from which the result could be calculated. The raw score provides additional insight in the achievement of the person. The raw score also needs the value of maxRawScore to provide necessary context.
maxRawScoreThe maximum number of points a person could achieve on the test or assessment form.
finalfinal: indicates that the result has been finalised by the exam committee. This can be done in any step of the test taking and assessment cycle.
assessorIdThe identifier of the assessor responsible for evaluating the result.
When the client does not request expansion of assessor, only this identifier is returned.
This field is expandable.
The expanded assessor (person) responsible for evaluating the result.
When the client requests expansion of assessor, the full person object MUST be returned here instead of only the identifier.
If no assessor is defined, this value is null.
Documents that are related to the result of the test component offering association. E.g. assessment form, assessment model, etc.
CourseOfferingAssociationResult
stateThe state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
resultDateTimeThe date this result has been published, RFC3339 (full-date)
The amount of effort to complete this education in the specified unit.
commentThe comment on this result
scoreThe score of this programme/course/component association (based on resultValueType in offering)
rawScoreThe number of points scored by a person (on the test or assessment) from which the result could be calculated. The raw score provides additional insight in the achievement of the person. The raw score also needs the value of maxRawScore to provide necessary context.
maxRawScoreThe maximum number of points a person could achieve on the test or assessment form.
finalfinal: indicates that the result has been finalised by the exam committee. This can be done in any step of the test taking and assessment cycle.
assessorIdThe identifier of the assessor responsible for evaluating the result.
When the client does not request expansion of assessor, only this identifier is returned.
This field is expandable.
The expanded assessor (person) responsible for evaluating the result.
When the client requests expansion of assessor, the full person object MUST be returned here instead of only the identifier.
If no assessor is defined, this value is null.
Documents that are related to the result of the test component offering association. E.g. assessment form, assessment model, etc.
CourseOfferingAssociationExternalMe
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: courseOfferingId | |
| type = object · requires: courseOffering |
courseOfferingIdThe identifier of the courseOffering referenced here.
When the client or server does not expand offering, only this
identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
Only required when the studyload for the individual student/enrolment is different from the studyload of the course offering.
courseOfferingThe expanded courseOffering object referenced here.
When the client or server expands offering, the full expanded
courseOffering object MUST be returned here instead of only the
identifier.
If no offering is defined, this value is null.
PostResponse
information displayed to user
redirectURL where additional information can be found e.g. by use of deep link
groupType
The type of this group:
- class: A group of students jointly scheduled for, assigned to, or engaged in educational activities
- team: A group composed of members of a team, which may consist of students, staff, or a mix of both
- group: A group of students jointly scheduled for, assigned to, or engaged in educational activities in a context not covered by a class
This is an extensible enumeration. Use the prefix x- for custom values.
courseOfferingId
The unique ID of the course offering, this should be unique across all programme, course, learning, and test component offerings.
programmeOfferingId
The unique ID of the programme offering, this should be unique across all programme, course, learning, and test component offerings.
learningComponentOfferingId
The unique ID of the learning component offering, this should be unique across all programme, course, learning, and test component offerings.
testComponentOfferingId
The unique ID of the test component offering, this should be unique across all programme, course, learning, and test component offerings.
TimelineOverrideCourse
validFromThe day on which this timelineOverride starts (inclusive), RFC3339 (date)
An object describing the metadata of a course
validToThe day on which this timelineOverride ends (exclusive), RFC3339 (date)
CourseExpanded
validFromThe first day and time this course is valid (inclusive).
validToThe day and time this course ceases to be valid (e.g. exclusive).
timelineOverridesTimeline overrides allow an implementation to provide versions of entities that will be valid in the future or have been in the past.
membershipState
The state of this membership:
- cancelled: The membership has been formally terminated and is no longer valid
- active: The membership is currently valid and in effect
This is an extensible enumeration. Use the prefix x- for custom values.
membershipRole
The role of this person in the context of this membership:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
LearningComponentOfferingAssociationResult
stateThe state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
resultDateTimeThe date this result has been published, RFC3339 (full-date)
weightThe weight to 100 as total for this offering in the course
commentThe comment on this result
scoreThe score of this programme/course/component association (based on resultValueType in offering)
rawScoreThe number of points scored by a person (on the test or assessment) from which the result could be calculated. The raw score provides additional insight in the achievement of the person. The raw score also needs the value of maxRawScore to provide necessary context.
maxRawScoreThe maximum number of points a person could achieve on the test or assessment form.
finalfinal: indicates that the result has been finalised by the exam committee. This can be done in any step of the test taking and assessment cycle.
assessorIdThe identifier of the assessor responsible for evaluating the result.
When the client does not request expansion of assessor, only this identifier is returned.
This field is expandable.
The expanded assessor (person) responsible for evaluating the result.
When the client requests expansion of assessor, the full person object MUST be returned here instead of only the identifier.
If no assessor is defined, this value is null.
Documents that are related to the result of the test component offering association. E.g. assessment form, assessment model, etc.
associationAttendance
The attendance status of an individual's association with an offering:
- unknown: attendance status is unknown or unrecorded
- not_started: attendance has not yet begun
- unfinished: attendance has begun but not completed
- present: individual attended as expected
- absent: individual did not attend
This is an extensible enumeration. Use the prefix x- for custom values.
ProgrammeOfferingAssociationResult
stateThe state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
resultDateTimeThe date this result has been published, RFC3339 (full-date)
The amount of effort to complete this education in the specified unit.
commentThe comment on this result
scoreThe score of this programme/course/component association (based on resultValueType in offering)
rawScoreThe number of points scored by a person (on the test or assessment) from which the result could be calculated. The raw score provides additional insight in the achievement of the person. The raw score also needs the value of maxRawScore to provide necessary context.
maxRawScoreThe maximum number of points a person could achieve on the test or assessment form.
finalfinal: indicates that the result has been finalised by the exam committee. This can be done in any step of the test taking and assessment cycle.
assessorIdThe identifier of the assessor responsible for evaluating the result.
When the client does not request expansion of assessor, only this identifier is returned.
This field is expandable.
The expanded assessor (person) responsible for evaluating the result.
When the client requests expansion of assessor, the full person object MUST be returned here instead of only the identifier.
If no assessor is defined, this value is null.
Documents that are related to the result of the test component offering association. E.g. assessment form, assessment model, etc.
ProgrammeOfferingAssociationExternalMe
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: programmeOfferingId | |
| type = object · requires: programmeOffering |
programmeOfferingIdThe identifier of the programmeOffering referenced here.
When the client does not request expansion of offering, only this identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
programmeOfferingThe expanded programmeOffering object referenced here.
When the client requests expansion of offering, the full expanded programmeOffering object MUST be returned here instead of only the identifier.
If no offering is defined, this value is null.
personalNeed
The personal needs required for this component by this specific candidate.
This list is a selection from the IMS Global Personal Needs and Preferences specification.
For the full reference, see:
https://www.imsglobal.org/sites/default/files/spec/afa/3p0/information_model/imsafa3p0pnp_v1p0_InfoModel.html
- extra_time: Additional time allocated for completing the component beyond standard timing
- spoken: Spoken output support (e.g. text-to-speech)
- spell_checker_on_screen: On-screen spell checking tool enabled during writing tasks
This is an extensible enumeration. Use the prefix x- for custom values.
TestComponentOfferingAssociationResult
stateThe state of this result:
- in_progress: The result is currently being worked on or assessed
- postponed: The result process has been delayed and will be resumed later
- completed: The result has been finalised and recorded
- queued: The result is awaiting processing or evaluation
This is an extensible enumeration. Use the prefix x- for custom values.
resultDateTimeThe date this result has been published, RFC3339 (full-date)
weightThe weight to 100 as total for this offering in the course
commentThe comment on this result
scoreThe score of this programme/course/component association (based on resultValueType in offering)
rawScoreThe number of points scored by a person (on the test or assessment) from which the result could be calculated. The raw score provides additional insight in the achievement of the person. The raw score also needs the value of maxRawScore to provide necessary context.
maxRawScoreThe maximum number of points a person could achieve on the test or assessment form.
finalfinal: indicates that the result has been finalised by the exam committee. This can be done in any step of the test taking and assessment cycle.
assessorIdThe identifier of the assessor responsible for evaluating the result.
When the client does not request expansion of assessor, only this identifier is returned.
This field is expandable.
The expanded assessor (person) responsible for evaluating the result.
When the client requests expansion of assessor, the full person object MUST be returned here instead of only the identifier.
If no assessor is defined, this value is null.
Documents that are related to the result of the test component offering association. E.g. assessment form, assessment model, etc.
attemptState
Status of the fulfilment of the attempt. The status typically progresses from pending to associated and then to finished.
- pending: A student is associated to the offering, but has not yet been allocated a specific attempt.
- cancelled: The attempt has been cancelled, for example by the student or the institution
- associated: The attempt has been confirmed/accepted/processed, the student is enrolled for a specific test moment
- finished: The attempt has ended, for example because the student has ended the test or the student has completed the test, or the deadline for handing in / finishing the test has expired.
attendance
The attendance status of an individual's association with an offering:
- unknown: attendance status is unknown or unrecorded
- not_started: attendance has not yet begun
- unfinished: attendance has begun but not completed
- present: individual attended as expected
- absent: individual did not attend
This is an extensible enumeration. Use the prefix x- for custom values.
TimelineOverrideProgramme
validFromThe day on which this timelineOverride starts (inclusive), RFC3339 (date)
A collection of courses that lead to a certifiable learning outcome
validToThe day on which this timelineOverride ends (exclusive), RFC3339 (date)
ProgrammeExpanded
validFromThe first moment this programme is valid (inclusive).
validToThe moment this programme ceases to be valid (e.g. exclusive).
timelineOverridesTimeline overrides allow an implementation to provide versions of entities that will be valid in the future or have been in the past.
TestComponentOfferingAssociationAttemptFull
attemptIdUnique id of this attempt
opportunityThe opportunity during which this attempt can be fulfilled. Only relevant when only one attempt is allowed per association.
attemptWhich attempt this is for the given person on the given offering.
startDateTimeMoment (date and time) of the start of the actual attempt. This can be the start date and time for an assessment where the association has no start or end date and time, but only has a relation with an academic session representing a term, trimester, semester or academic year.
endDateTimeMoment (date and time) of the end of the actual attempt. This can be the deadline for handing in a document for an assignment or the end date and time for an test where the association has no start or end date and time, but only has a relation with an academic session representing a term, trimester, semester or academic year.
roomIdsThe identifiers of the rooms for this offering.
When the client does not request expansion of rooms, only these identifiers are returned.
This field is expandable.
roomsThe expanded room objects for this offering.
When the client requests expansion of rooms, the full expanded room objects MUST be returned here instead of only the identifiers.
If no rooms are defined, this value is null.
irregularitiesAdditional information about external disturbances or (potentially) illegal actions by the student, before, during or after the test.
coordinatorIdThe identifier of the coordinator responsible for overseeing the test.
When the client does not request expansion of coordinator, only this identifier is returned.
This field is expandable.
The expanded person object representing the coordinator responsible for overseeing the test.
When the client requests expansion of coordinator, the full person object MUST be returned here instead of only the identifier.
If no coordinator is defined, this value is null.
Documents that are related to the test component offering association attempt. E.g. test completed, work handed in, etc.
courseOfferingAssociationIdThe unique identifier of the student’s enrolment in a course offering to which the current association relates.
testComponentOfferingAssociationIdThe associationId under which this attempt was made.
CourseOfferingAssociationsExternalMePostRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: courseOfferingId | |
| type = object · requires: courseOffering |
courseOfferingIdThe identifier of the courseOffering referenced here.
When the client or server does not expand offering, only this
identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
Only required when the studyload for the individual student/enrolment is different from the studyload of the course offering.
courseOfferingThe expanded courseOffering object referenced here.
When the client or server expands offering, the full expanded
courseOffering object MUST be returned here instead of only the
identifier.
If no offering is defined, this value is null.
issuercircularPersonsPostRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: surname, primaryCode, activeEnrolment | |
| type = object · requires: givenname, primaryCode, activeEnrolment | |
| type = object · requires: preferredName, primaryCode, activeEnrolment |
The primary human readable identifier for the person. This is often the source identifier as defined by the institution.
surnameThe family name of this person
activeEnrolmentWhether this person has an active enrolment.
givenNameThe first name of this person
alternateNameThe Name a person chooses to use. this is part of a Self Sovereign name e.g. in the eduId process comparable to schema.org alternateName
preferredNameThe name how the person would like to be called. Usually first name of this person. In line with ISO/IEC 24760 – Identity Management Vocabulary
surnamePrefixThe prefix of the family name of this person
displayNameThe name of this person which will be displayed
initialsThe initials of this person
idCheckNameThe name of the person as printed on official identification documents (driving licence, passport or identity card). This MUST be formatted as "surname prefix surname, given names" (separating surnamePrefix and surname with a single space, and surname and given names with a comma and space).
If the surname or given names are not available or are secret, the values "secret" and "not_available" are recommended. The surname prefix may be omitted. E.g. "van der Graaf, Jacobus Adrianus".
Optionally, the value of the student number can be added to this field by appending it at the end, separated by a comma. E.g. "van der Graaf, Jacobus Adrianus, s12345678"
dateOfBirthThe date of birth of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
cityOfBirthThe city of birth of this person
dateOfNationalityThe date of nationality of this person, using the full-date format as defined in
RFC 3339 (section 5.6).
affiliationsemailThe primary email address of this person
secondaryEmailThe secondary email address of this person
telephoneNumberThe telephone number of this person
mobileNumberThe mobile number of this person
photoSocialThe url of the informal picture of this person
photoOfficialThe url of the official picture of this person
titlePrefixA title prefix to be used for this person
titleSuffixA title suffix to be used for this person
officeThe name of the office where this person is located
ICENameFull name of In Case of Emergency contact
ICEPhoneNumberPhone number of In Case of Emergency contact
languageOfChoiceLanguage (circular)The language(s) of choice for this person according to RFC4647. For details see the descriptions in the Language schema.
An array of additional human readable codes/identifiers for the entity being described.
Assigned resources or time based on the needs of a person. They describe which needs the student requires under which conditions e.g. 15% extra time for tests that requires maths skills. These needs can later in the flows be mapped to a personalNeed for a specific association. Examples of such assignedNeeds: "ExtraTimeOnlyMaths25%", "ExtraTimeOnlyMaths30Min", "ExtraTimeDigitalTests25%"
ProgrammeOfferingAssociationsExternalMePostRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: programmeOfferingId | |
| type = object · requires: programmeOffering |
programmeOfferingIdThe identifier of the programmeOffering referenced here.
When the client does not request expansion of offering, only this identifier is returned.
This field is expandable.
associationIdUnique id of this association
roleThe role of the person associated with the offering:
- student: Enrolled participant in the offering
- lecturer: Delivers lectures or leads teaching
- teaching_assistant: Supports the lecturer in teaching activities
- coordinator: Responsible for organisational or administrative aspects
- invigilator: Supervises examinations or assessments
- assessor: Evaluates student performance or work
- guest: External participant with an atypical role
This is an extensible enumeration. Use the prefix x- for custom values.
startDateTimeThe start date and time the person is intended to start participating in the offering. Formatted according to RFC3339 (full-date)
expectedEndDateTimeThe expected end date and time the person is intended to stop participating in the offering. Formatted according to RFC3339 (date-time)
actualEndDateTimeThe actual end date and time the person stopped participating in the offering. Formatted according to RFC3339 (full-date)
stateThe state of this association:
- pending: A student has requested enrolment, but it has not yet been confirmed, accepted or processed
- cancelled: The association has been cancelled, for example by the student or the institution
- denied: The student was denied enrolment, for example because they did not meet the requirements
- associated: The association has been confirmed, accepted or processed; the student is enrolled
- queued: The association is in a queue, for example because the course is full
- finished: The association has ended, for example because the course has ended or the student has completed the course
This is an extensible enumeration. Use the prefix x- for custom values.
programmeOfferingThe expanded programmeOffering object referenced here.
When the client requests expansion of offering, the full expanded programmeOffering object MUST be returned here instead of only the identifier.
If no offering is defined, this value is null.
issuercircular